In article <·················@agate.unh.edu>, ···@unh.edu (Roy M. Turner) writes:
|>
|> Hi folks,
|>
|> We are getting some Sun SPARC Classic machines to add to our Sun 3's, SPARCs,
|> and DEC MIPS machines, and we're currently trying to make a "which Lisp to
|> use" decision. One of the things we need is multi-tasking within Lisp--like
|> Symbolics, Lucid, and Allegro support (via "processes"), but that CMU Lisp and
|> AKCL apparently do not. My question is, does anyone know of a way or have
|> code that implements multi-tasking in a non-multi-tasking Lisp?
No But we have a language with inbuilt multi-tasking, error recovery
etc. called Erlang. Erlang has a pattern matching syntax (as loved by
ML and prolog fans) but is untyped (as loved by lisp scheme fans) --
and has a real-time GC. It's a sort of cross between prolog/ML/scheme/lisp/
concurrent euclid ....
Its also been used for large industrial projects (our biggest
program is 123,000 lines of Erlang).
For more info see.....
---- cut ---
Erlang - "Concurrent Programming in Erlang", J. Armstrong, M. Williams
& R. Virding, P-H 1993.
Classification: Concurrent functional programming language for
large industrial real-time systems. Untyped. Pattern matching syntax.
Recursion equations. Explicit concurrency, asynchronous message
passing. Relatively free from side effects. Transparent
cross-platform distribution. Primitives for detecting run-time
errors. Real-time GC. Modules. Dynamic code replacement (change
code in running real-time system, without stopping system). Foreign
language interface.
Availability: Free version (subject to non-commercial licence)
with no support. Commercial versions with support are available
(Erlang Systems AB).
Info: ······@erix.ericsson.se
FTP Info: euagate.eua.ericsson.se:/pub/eua/erlang/info
---- cut ---
Joe Armstrong