[squeak-dev] The Trunk: EToys-tfel.253.mcz
Kjell Godo
squeaklist at gmail.com
Mon Sep 26 15:48:50 UTC 2016
it becomes like a programming language.
Could it be used to allow restricted user customization.
Like a scripting language given some kind of
hierarchical editor.
On Monday, September 26, 2016, Kjell Godo <squeaklist at gmail.com> wrote:
> When is a MessageSend better than a BlockClosure?
> I would like to know. Because you can change it?
> You can look inside. What if the arguments were Blocks.
> You could easily make a tree of MessageSends
> (
> ( M message1:( M message2: obj2 )
> message1:( M message3: obj31
> message3: obj32 )
> ) receiverDeep:{ r1. r2. r3 }"<---[ left right top down traverse ]"
> ) valueDeep
>
> On Monday, September 26, 2016, Kjell Godo <squeaklist at gmail.com
> <javascript:_e(%7B%7D,'cvml','squeaklist at gmail.com');>> wrote:
>
>> M class>>doesNotUnderstand: aMessage ^aMessage asMessageSend !
>>
>> ( ( M som:eMe:ssa:ge: inputs ) receiver: obj )
>>
>> On Monday, September 26, 2016, Kjell Godo <squeaklist at gmail.com> wrote:
>>
>>> M>>doesNotUnderstand: aMessage ^aMessage asMessageSend !
>>>
>>> ( M handUserSorterMorphForProjectNamed: nil )"<---[ easy way to make a
>>> MessageSend ]"
>>> ...
>>> sendTo: obj
>>>
>>> On Monday, September 26, 2016, <commits at source.squeak.org> wrote:
>>>
>>>> Tim Felgentreff uploaded a new version of EToys to project The Trunk:
>>>> http://source.squeak.org/trunk/EToys-tfel.253.mcz
>>>>
>>>> ==================== Summary ====================
>>>>
>>>> Name: EToys-tfel.253
>>>> Author: tfel
>>>> Time: 26 September 2016, 11:40:48.856552 am
>>>> UUID: a00694aa-7017-b444-a8d0-6671ec171efd
>>>> Ancestors: EToys-tfel.252
>>>>
>>>> delete the project saving morph before saving
>>>>
>>>> =============== Diff against EToys-tfel.252 ===============
>>>>
>>>> Item was changed:
>>>> ----- Method: EToyProjectDetailsMorph>>doOK (in category 'utilities')
>>>> -----
>>>> doOK
>>>> "User hit the ok button in the project-info dialog. Store the
>>>> updated project-info back in the project. Call the message-send residing in
>>>> the receiver's actionBlock to carry out any subsequent desired task. Note
>>>> that this method sets the 'arguments' of the message-send in the
>>>> actionBlock"
>>>>
>>>> | args actionSelector |
>>>> self validateTheProjectName ifFalse: [^false].
>>>> projectDetails := self copyOutDetails.
>>>>
>>>> theProject acceptProjectDetails: projectDetails. "Make sure
>>>> project & world feel the changes"
>>>> +
>>>> + self delete.
>>>> -
>>>> actionBlock isMessageSend "new way -- hopefully all cases"
>>>> ifTrue: "please excuse this ugly, non-modular code..."
>>>> [actionSelector := actionBlock selector.
>>>> args := (actionSelector =
>>>> #handUserSorterMorphForProjectNamed:)
>>>> ifTrue:
>>>> [{theProject name}]
>>>> ifFalse:
>>>> [actionSelector numArgs = 0
>>>> ifTrue:
>>>> [nil]
>>>> ifFalse:
>>>> [Array with:
>>>> projectDetails]].
>>>> actionBlock arguments: args.
>>>> actionBlock value]
>>>>
>>>> ifFalse: "Old way, with actionBlock actually a block
>>>> of one argument. This should no longer occur."
>>>> + [actionBlock value: projectDetails].!
>>>> - [actionBlock value: projectDetails].
>>>> -
>>>> - self delete!
>>>>
>>>> Item was changed:
>>>> ----- Method: EToyProjectQueryMorph>>doOK (in category 'ok button
>>>> hit') -----
>>>> doOK
>>>> "User hit the ok button in the project-query dialog."
>>>>
>>>> | details |
>>>> details := self copyOutDetails.
>>>>
>>>> + self delete.
>>>> actionBlock isMessageSend "new way -- hopefully all cases"
>>>> ifTrue:
>>>> [actionBlock arguments: {details. actionBlock
>>>> arguments second}.
>>>> actionBlock value]
>>>>
>>>> ifFalse: "Old way, with actionBlock actually a block
>>>> of one argument. This should no longer occur."
>>>> + [actionBlock value: details].!
>>>> - [actionBlock value: details].
>>>> -
>>>> - self delete!
>>>>
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20160926/cbd22957/attachment.htm
More information about the Squeak-dev
mailing list
|