What I'd love to see in Squeak

Daniel Joyce daniel.a.joyce at worldnet.att.net
Sun Feb 1 21:55:54 UTC 2004


> 1) I'd love a read-eval-print-loop that acts like all the other
> read-eval-print-loops I'm used to. This business of selecting text and
> hitting alt-P or ctrl-P or whatever is driving both me and Sarah (the
> student I have working with me) nuts for some reason. I want to type a
> line, hit return, and have the result print on a new line. I want to be
> able to hit the up arrow to select previous inputs, and use some sort of
> completion to refine that, like in MATLAB.
>

	Python has that...

> 2) A standard multidimensional array class, built into the image, that
> everyone can depend on and use in a consistent way. Squeak arrays as far
> as I can tell are 1-D. (Maybe I'm confused on that and someone can help
> me.)

	Numeric Python has that... Very Very Powerful ones. So much so, the Python 
Imaging library uses it.
	
>
> If you want Squeak to win the Hearts and Minds of ECEs, or engineers in
> general, having a built-in suite of linear algebra operations would be a
> good thing. I'd love to see MATLAB type functionality in Squeak, where I
> could do something like, say,
>
> (((a square) + (b sqrt)) inv) matrixMult: c
>

	Numeric Python again...

> to square all the elements of a, take the square root of all the elements
> of b, and then invert that matrix and then multiply it by another matrix
> c, all in one line. (I'm not really comfortable with mentally parsing a
> complicated set of message send yet, so my Squeak code tends to have a ton
> of parens, or else I get horribly confused.)

	Numeric Python, and the linear algebra add-on
>
> I've read that you folks are worried about "image bloat" - rightfully so -
> but I'm concerned that if everyone has their own various different
> packages for doing linear algebra, that would lead to a Tower of Babel
> situation.

	Well, Python has several things I like....

	1) Sane library/import systems. Sane namespaces.
	2) The ability to code extensions in C, and hook them into Python, and have 
them appear as other Pythonic Object. When PyPy comes out, with it's dynamic 
recomplier, and written in itself, it will have what Squeak has been 
promising for 5 years. Squeak is written in itself, yes, but the new Jitter 
has gone through 4-5 aborted stalled attempts.
	3) It has no wonderous GUI. But I can choose to use it, or loose it. IDLE is 
very nice, and there is no reason why one couldn't write a ST like 
environment on top of python. With Python's syntax, it'd be very easy to make 
it support both 'self' and 'smalltalk' behaviors. The object model is 
infinitely flexible. Python's sound support WORKS, unlike Squeak on Linux 
which to break in different ways at different times.
	4) Python supports a wide variety of 3rd party tools and libraries. 
TwistedMatrix alone is a networking library that Squeak, or any language 
would kill to have. Very well written, very, excedingly easy to use.



More information about the Squeak-dev mailing list