[lisp-hh] Terminology [Was: Re: [ANN] Erlisp website]

Dirk Gerrits dirk at dirkgerrits.com
Thu Oct 14 08:01:25 UTC 2004


Luke Gorrie <luke at synap.se> writes:

Hi Luke. 

> Erlisp sounds cool, I'm looking forward to see what you come up with.

I'm glad I sparked your interest.  I'm looking forward to see what I
come up with as well. ;)

> For now I suggest adopting the definition that /concurrency/ is
> juggling a lot of different tasks at once, whereas /parallelism/ is
> optimization by using multiple processors at the same time. With these
> definitions Erlang and Erlisp are about concurrency and not parallelism.

Hmm, I should add a terminology page.  But I could use some suggestions
for it.  The way I see it, there are (at least) 5 related concepts:

1. juggling a lot of different tasks at once on a single machine with a
   single processor
2. juggling a lot of different tasks at once on a single machine with
   multiple processors
3. juggling a lot of different tasks at once on a single machine
   (regardless of its number of processors)

4. juggling a lot of different tasks at once across multiple machines

5. juggling a lot of different tasks at once (regardless of the number
   of machines involved)

I was using the terminology:

1. -
2. -
3. dirk:parallelism
4. dirk:distribution
5. dirk:concurrency

What would would you suggest?

1. -
2. -
3. luke:concurrency
4. luke:distribution
5. luke:concurrent and luke:distributed

?  

I would really like to have a single word for each of 3, 4, and 5.  But
I do share your sentiment that the 1 vs 2 distinction is not really
interesting (from a language design standpoint).  If I need to mention 1
and 2 at all, I'll just write them out in full.

BTW, "processor" should probably be defined more thoroughly as well.  It
seems to be hot these days to make CPUs with multiple cores.

> This is an important distinction. Parallelism is boring: everybody's
> already read old papers about parallel Lisps and nobody's actually
> writing parallel Lisp programs. Concurrency is sexy: everybody's
> writing concurrent programs (McCLIM, Araneida, etc etc) and Erlisp is
> trying to break ground by making these programs much easier to write.

I agree, in principle, but the luke:parallel Lisps of old also had a
luke:concurrency aspect, and some of them look really interesting.

> Don't be labelled as just another parallel Lisp! :-)

Well so far Erlisp has mostly been labelled as an "Erlang in Lisp".
While that isn't half bad, I'd like to go beyond that once I really get
there. ;)

> P.S., IMO two great background reading books are _Communicating
> Sequential Processes_ by Hoare (online at www.usingcsp.com) and _The
> Architecture of Concurrent Programs_ by Per Brinch Hansen (library, or
> cheap at www.bookfinder.com)

They have both books at my university's library, which is good as I
don't like reading large amounts of a text of a computer screen. :) I've
already read the first, I'll have to pick up the second some time.
Thanks for the pointers.

Kind regards,

Dirk Gerrits




More information about the lisp-hh mailing list