Squeak: a Language for Communicating with Mice
started 1/24/2004; 2:17:03 PM - last post 1/29/2004; 5:14:20 AM
|
|
Luke Gorrie - Squeak: a Language for Communicating with Mice
1/24/2004; 2:17:03 PM (reads: 13330, responses: 13)
|
|
Squeak: a Language for Communicating with Mice |
by way of the illustrious (and typecast?) Tom Duff in the discussion group.
Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices.
A 1985 paper by Rob Pike and Luca Cardelli. Squeak looks interesting in many ways. It's especially faithful to CSP, embeds C within itself (yacc -style), and compiles an entire system of processes into a C procedure to be called with primitive events (e.g. mouse clicks).
I would be interested to see more source code of programs written in Squeak or its successor Newsqueak if anybody has a reference.
Did you know that Plan9 can be downloaded as a premade VMware image? I just downloaded and fired it up in a matter of minutes.
Posted to general by Luke Gorrie on 1/24/04; 2:22:21 PM
|
|
|
|
Manuel Simoni - Re: Squeak: a Language for Communicating with Mice
1/24/2004; 8:19:19 PM (reads: 557, responses: 0)
|
|
|
Manuel Simoni - Re: Squeak: a Language for Communicating with Mice
1/24/2004; 8:57:08 PM (reads: 547, responses: 0)
|
|
Another very cool piece of work related to Plan 9 is the Es shell (available on Debian.)
|
|
Ehud Lamm - Re: Squeak: a Language for Communicating with Mice
1/25/2004; 3:18:34 AM (reads: 503, responses: 0)
|
|
Is this really the same Tom Duff?
What an honor!
|
|
Ehud Lamm - Re: Squeak: a Language for Communicating with Mice
1/25/2004; 8:29:56 AM (reads: 448, responses: 0)
|
|
I can understand the appeal of using concurrency to handle GUI programming. But as far as I could tell the language itself is rather mundane. Am I missing something?
|
|
Luke Gorrie - Re: Squeak: a Language for Communicating with Mice
1/25/2004; 9:07:55 AM (reads: 442, responses: 0)
|
|
If you find that mundane then I think you've been holding back on some good concurrent programming language links. Cough 'em up! :-)
I've been idly wondering for years whether one can really construct programs in "pure" CSP, and Squeak is the nearest thing I've seen. It's interesting that it seemingly didn't scale, as Newsqueak added things like a conventional stack and generally looks more like a "normal programming language" than one of Hoare's processes.
I also wonder if synchronous communication becomes a scalability problem. Intuitively it seems to require tighter integration of the parts. Any especially good pointers? How's Ada concurrency work?
|
|
Olivier Lefevre - Re: Squeak: a Language for Communicating with Mice
1/27/2004; 11:03:11 AM (reads: 261, responses: 2)
|
|
Wasn't Occam a rather "pure" implementation of CSP concepts?
|
|
gnuvince - Re: Squeak: a Language for Communicating with Mice
1/27/2004; 1:12:45 PM (reads: 245, responses: 1)
|
|
We're not talking about the latest Smalltalk implementation (www.squeak.org), right?
|
|
Ehud Lamm - Re: Squeak: a Language for Communicating with Mice
1/27/2004; 1:30:43 PM (reads: 238, responses: 0)
|
|
Right. Same name, different languages.
|
|
Isaac Gouy - Re: Squeak: a Language for Communicating with Mice
1/27/2004; 2:02:25 PM (reads: 245, responses: 1)
|
|
|
Luke Gorrie - Re: Squeak: a Language for Communicating with Mice
1/29/2004; 5:14:20 AM (reads: 171, responses: 0)
|
|
Thanks for the prod towards Occam. I had been meaning to read about that for ages.
My (quite superficial) impression of Occam from the tutorial is:
- It seems geared towards parallel (do this many times in parallel) rather than concurrent (coordinate these autonomous things). It looks more like it's intended for scientific applications rather than (say) structuring an operating system.
- Occam processes look very unlike Hoare's CSP processes. Most strikingly, Hoare's processes usually have beautiful recursive definitions, but Occam does not support recursion! In this respect Squeak feels much closer to CSP. Likewise Erlang and CML.
- For a 1985 language it looks ugly!.
Like I said, only superficial. Quite possibly Occam supports the CSP methodology/model brilliantly, but it doesn't look like CSP to me. It looks more like I'd expect a "Connection Machine Pascal" would.
|
|
Isaac Gouy - Re: Squeak: a Language for Communicating with Mice
2/7/2004; 6:31:03 AM (reads: 90, responses: 0)
|
|
|
|
|