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
|