Thinking about a better UI

Dick Karpinski dick at cfcl.com
Sun May 16 23:35:55 UTC 1999


> "Andrew C. Greenberg" writes:
> 
> >Explanation of message sends for traditional programmers
> >...
> >handler. ((Add a reference to the following topics here: (a) overriding,
> >(b) dynamic binding, (c) polymorphism.))
> 
> Yeah, that old tradition of double dispatching, routine passing of 
> lambdaesque functional parameters, and other things that make 
> explaining:
> 
> 	String streamContents: [:s | foo process: s ]
> 
> in terms of function calls just cake.  Or even better yet:
> 
> 	'Now here''s some Real Progress'
> 		displayProgressAt: Sensor cursorPoint
> 		from: 0 to: 10
> 		during: [:bar |
> 		1 to: 10 do: [:x | bar value: x.
> 			(Delay forMilliseconds: 500) wait]].
> 
> just simple to explain as a procedure call.  And we routinely write 
> such code in imperative language all the time, don't we?
> 
> With all due respect, while your points might be well taken, these 
> types of operations took my breath away the first time I saw them, 
> and I only really got it when I realized that a message send is a 
> message send, and not a procedure call.

How may I understand these tiny examples?  My own educational goals
would be well served by understanding them clearly.

Dick





More information about the Squeak-dev mailing list