

Getting Started in *Lisp (1991) [pdf] - eudox
http://people.csail.mit.edu/bradley/cm5docs/nov06/GettingStartedinStarLisp.pdf

======
hvs
For context, *Lisp (pronounced "star Lisp") was a parallel programming
extension to lisp on the Connection Machine System, which was a series of
supercomputers. The front-end machine for talking to the CM was either a Unix
box or a Symbolics Lisp machine.

[http://en.wikipedia.org/wiki/Connection_Machine](http://en.wikipedia.org/wiki/Connection_Machine)

~~~
kourt
Thanks. How do current Lisps (CL, Racket) compare to *Lisp on parallelism?

~~~
_delirium
They aren't targeting similar hardware, so aren't very similar. The constructs
introduced by *Lisp are designed mainly for issuing SIMD-style instructions to
a grid of 256+ processors (in some versions, 10k+).

------
twoodfin
Another Lisp variant developed for the Connection Machine was the cleverly
named "Connection Machine Lisp":

[http://diyhpl.us/~bryan/papers2/paperbot/25aa007a093cd69bbf0...](http://diyhpl.us/~bryan/papers2/paperbot/25aa007a093cd69bbf070e6db9603c3a.pdf)

The paper on it by Steele and Hillis is well-worth reading, as the language's
fundamental mechanism of parallelism bears more than a passing resemblance to
the MapReduce of 20 years later.

~~~
judk
For comparison, what are the other possibilities for parallelism? MapReduce
seems the obvious obvious one.

~~~
JadeNB
My impression was that MapReduce isn't so much parallelism itself, but rather
a way of organising the execution of a programme to take advantage of parallel
processors. (Maybe this is a meaningless distinction; I have never written
(intentionally) parallel code, and am not familiar with the terminology.) In
that sense, Apple's GCD
([https://en.wikipedia.org/wiki/Grand_Central_Dispatch](https://en.wikipedia.org/wiki/Grand_Central_Dispatch))
is another well known possibility—one of, presumably, many.

------
mark_l_watson
Wow, a trip down memory lane!

I used Star Lisp to program a Connection Machine 1 (the SIMD one) in the
1980s.

I could run the simulator under Coral Common Lisp on my original Macintosh,
so, development was very nice since I didn't have easy access to the DARPA
provided CM-1 (I had to fly to another city to access it).

~~~
mark_l_watson
I noticed that the PDF manual was dated 1991. I must have been using an early
version of the system since I think I programmed for the CM-1 in 1989.

~~~
lispm
Here are older versions:

[http://www.softwarepreservation.org/projects/LISP/parallel#C...](http://www.softwarepreservation.org/projects/LISP/parallel#Connection_Machine_*Lisp_\(StarLisp\)_)

------
eugenejen
The owner of the manual is also an interesting person.

He has been involving in Cilk, Akamai and Tokutek.

~~~
tekknolagi
Yes, and was my high school teacher and robotics coach :) Wonderful fellow!

EDIT: I take that back. Perhaps this is his brother.

------
rbanffy
Sadly, MESS (mess.org) does not emulate a CM-1 yet ;-)

~~~
dfox
Emulating the CM hardware does not make much sense. CM-1 and CM-2 are not real
computers but essentially hardware accelerators as all the brains are inside
the front-end system. CM-1 and CM-2 architecture can be described as very wide
configurable ALU or as FPGA turned inside-out (the CM-1/2 "processor" is
mostly same thing as one macrocell in FPGA, with the important difference that
CM processor has different configuration for each clock cycle).

So emulating the hardware itself is not especially interesting as there is no
real software for it (because it does not run standalone programs).

~~~
rbanffy
Well... The front-end was usually a VAX, right? (as remembered from articles
on the CM-1)

~~~
lispm
or a Symbolics Lisp Machine

~~~
rbanffy
I believe someone had a working 3600 software emulation. From there, it's just
adding the CM emulation as if it were a peripheral.

That and finding the install tapes ;-)

