Functional Squeak

JArchibald at aol.com JArchibald at aol.com
Sun Jun 4 14:21:45 UTC 2000


=> 6/3/00 12:04:28 PM EDT, Alan.Kay at disney.com =>
<< Time seems to flow and State seems to change >>

This seems to be, of course, an illusion.

It is actually not all that difficult to image a universe, where everything 
(past, present, & future; here, there, & elsewhere) actually form a solid. To 
get from 'then' to 'now,' or from 'here' to 'there,' we must evaluate the 
least upper bound (Scottery being applied here) and/or greatest lower bound, 
of the descriptions of 'then,' 'now,' 'here,' and 'there,' to be able to 
figure out how to get from one of these descriptions to another. To get from 
x to y, we form a cosmic ChangeSet to get from x to GLB or LUB, and then 
another ChangeSet to get from there to y. This does require the Universe to 
be well behaved, and that descriptions of reality actually form a lattice, 
but to paraphrase Einstein, "God does not play with probabilistic systems."

What do you think, can we get it in by 2.10?

All kidding aside, the only problem with this as a universal description is 
human perception. This perceptive facility of ours seems firmly committed to 
Time and State 'changing,' whatever that may mean. And we 'believe' in our 
perceptive facilities.

When truly entering the realm of functional programming, the confusion 
surrounding 'change' often seems to melt away. A completely functional 
program, to me, always seemed like a bit of complex plumbing, and totally 
unchangeable. You pour in the inputs at the top, and the outputs come out the 
bottom. Water (and other things) flow through the pipes of your house, but 
(ignoring wear), the pipes are not changed.

Pure LISP, functional programming (ala ISWIM), and Combinatory Logic all 
represent parts kits and construction methodologies by which complex plumbing 
systems can be constructed. To meaningfully incorporate the beauty of 
functional programming into an existing environment, one needs to be able to 
determine which parts of your software description are functional, and which 
are not. Smalltalk, lacking a definition facility, has at least one strike 
against it to effectively introduce functional programming as more than just 
a 'style.'

;-) 
Jerry.
____________________________

Jerry L. Archibald
systemObjectivesIncorporated
____________________________





More information about the Squeak-dev mailing list