Etoys!? (was: Lisp s. Smalltalk) was: Re: Strongtalk VM for Squeak
Markus Gaelli
gaelli at emergent.de
Tue Sep 19 18:46:28 UTC 2006
On Sep 19, 2006, at 7:15 PM, Michael Latta wrote:
> But, this one does not create an accumulator, just an adder.
?
Quote of the specification:
"As an illustration of what I mean about the relative power of
programming languages, consider the following problem. We want to
write a function that generates accumulators-- a function that takes
a number n, and returns a function that takes another number i and
returns n incremented by i.
(That's incremented by, not plus. An accumulator has to accumulate.)"
Isn't Number>>foo a function taking one argument possibly called n?
(And isn't better stored in number, so I could find later on?)
And doesn't it return a function which expects one argument i and
returns n incremented by i?
>>>
>>> Number >> foo
>>> ^[:i | self + i]
>>>
Maybe I don't get the difference between incrementing and plus. Do
you have an example of a use case which might have been intended by
Paul though not explicitly specified - at least not for me?
But why discussing the power of Smalltalk, it is Etoys whose
expressiveness I find amazing - though they are not (yet?) build with
themselves.
I think Etoys takes us a long way from REPL to what I call SEDL, the
"Select, Evaluate, Display - Loop" --- why should we take the
perspective of machines?
And though I do like commands, I hate commands out of context. Escape
Meta Alt Control Shift is not focusing on humans but on uber-geeks
who are proud to have learned lots of commands by heart. Also look at
the evolution of interfaces of operating systems - inspired by
Smalltalk of course. People (including me) want to recognize and act
accordingly - and not to learn things by heart.
With classes and class extensions we have a very good way to store
commands into their contexts - in Smalltalk, but the question is how
we could pass the Deutsch-Limit (named after Peter Deutsch) in Etoys
or similar approaches:
http://en.wikipedia.org/wiki/Deutsch_Limit
The project below has 34 lines of code, including the method headers
- and it's starting to get hard to read...could we come up with a
visual debugger for Etoys? Alternative categorization schemes to the
viewer? And - when will / can Etoyers start to write Etoy-scripts to
improve Etoys?
<shameless self plug>
See an example of an incrementor for numbers with a base from 2 to 10,
a cross-summer, an according fractal music generator, and a xylophone
all fitting on one page with 34 lines of etoys
http://www.squeakland.org/project.jsp?http://www.emergent.de/pub/
smalltalk/squeak/projects/musinum.pr
(Press the MIDIPort openMidi button after start)
(had to add three lines of Smalltalk to get the internal midi running)
<\shameless self plug>
Cheers,
Markus
More information about the Squeak-dev
mailing list
|