[self-interest] documentation!
Jason Grossman
spam-me at xeny.net
Sun Jul 24 21:52:30 UTC 2016
Alan Kay has at least one good explanation of this, and it might be
worth including that in Self's documentation. I'm thinking of a bit of
one of his videos - I could transcribe that if nobody knows anything
better.
On 25 Jul 2016, at 7:45, David Ungar ungar at me.com [self-interest] wrote:
> I’m not sure you get it: there is no signature, no such concept in
> Self. That’s part of what I’m trying to say. It’s a different
> model of computation.
>
> The concepts are more like natural language concepts. If a thing wants
> to pretend it’s like a collection, it will implement do:. It may
> only partially pretend and not implement all of collectionness. But
> that may be fine for a particular use case.
>
>
>> On Jul 24, 2016, at 2:30 PM, Bystroushaak bystrousak at kitakitsune.org
>> [self-interest] <self-interest at yahoogroups.com> wrote:
>>
>> Ah. I've been able to find out on my own, there is no problem here.
>> It
>> is just that it would be more effective, if I could use methods just
>> from the signature of their header. This kind of forces me to read
>> the
>> whole source code, which is time consuming.
>>
>> Many times I know exactly what I want, I just don't know where it is
>> in
>> Self and what the name is.
>>
>> Dne 24.7.2016 v 23:25 David Ungar ungar at me.com [self-interest]
>> napsal(a):
>>> Great examples. But you omitted the source code.
>>>
>>> Here are some:
>>>
>>> in traits collection:
>>> addAll: c = ( c do: [ |:v. :k| add: v WithKey: k ]. self)
>>>
>>> c is anything that responds to ‘do:', and the collection gets each
>>> element of c added to it. That’s what I would expect one could get
>>> from reading this code.
>>>
>>> What responds to ‘do:’? Use implementors. You get lots of
>>> implementors, telling you that many things are possible for c,
>>> including:
>>> sets, dictionaries, collections, lists, etc.
>>>
>>> What does ‘do:’ do? That’s where a knowledge of Smalltalk
>>> would be helpful.
>>> But you could run this:
>>>
>>> 'abc' do: [|:x| x printLine] and see what happens.
>>>
>>> Perfect? Far from it. But there are techniques and ways of thinking
>>> that are different from what most people are used to.
>>>
>>> 3 do: [|:x| x printLine]
>>>
>>> will work. More things tend to work with more things than in most
>>> other systems.
>>
>>
>>
>> ------------------------------------
>>
>> ------------------------------------
>>
>>
>> ------------------------------------
>>
>> Yahoo Groups Links
>>
>>
>>
>
>
>
> ------------------------------------
>
> ------------------------------------
>
>
> ------------------------------------
>
> Yahoo Groups Links
>
>
>
More information about the Self-interest
mailing list