MultiLisp


Also found in: Wikipedia.

MultiLisp

(language)
A parallel extension of Scheme with explicit concurrency. The form (future X) immediately returns a "future", and creates a task to evaluate X. When the evaluation is complete, the future is resolved to be the value.

["MultiLisp: A Language for Concurrent Symbolic Computation", R. Halstead, TOPLAS pp.501-538 (Oct 1985)].

References in periodicals archive ?
In PROSET-Linda, the concept for process creation via Multilisp's futures [Halstead 1985] is adapted to set-oriented programming and combined with Linda's concept for synchronization and communication.
Here, Multilisp's future concept is applied to synchronize the master with the workers: the workers are spawned with the operator || as components of active tuples.
The work-stealing idea dates back at least as far as Burton and Sleep's [1981] research on parallel execution of functional programs and Halstead's [1984] implementation of Multilisp. These authors point out the heuristic benefits of work stealing with regards to space and communication.
Implementation of Multilisp: Lisp on a multiprocessor.
Given some C programmers, Scheme programmers and Prolog programmers, all of whom need to develop parallel applications, we could recommend three independent, tailor-made parallel variants of these languages--for example Concurrent C [16], Multilisp [19] and Parlog [26].
With futures in languages such as Multilisp [Halstead 1985; 1989; Osborne 1989] and MultiScheme [Miller 1987], the programmer explicitly states what should be evaluated in parallel using the future annotation.
The futures of MultiLisp [5] and Qlets of QLisp [4] are a few of the other examples of systems that use annotations effectively,
1990], Multilisp [Halstead 1985], Proteus [Mills et al.
Another symbolic programming language in which parallelism is made explicit by the programmer is Multilisp. The Multilisp [Halstead 1986] language is an extension of Lisp in which opportunities for parallelism are created using futures.
So far, lectures and their topics have included Tom Knight, "Evolution of Symbolic Computing Architectures at MIT;" Bert Halstead, "Parallel Symbolic Computing Using MultiLISP;" Mitchell Resnick, "Lego/Logo: Kids as Hackers;" Randall Davis, "Myths and Observations for the Computer Age;" Phil Greenspun; "How a Bunch of AI Lab Refugees Started a Construction Company." David Goldstone Chair ACM Student Chapter Massachusetts Institute of Technology Boston, Massachusetts
Multilisp futures also support a similar model of computation, although programs that use futures may not execute deterministically if the computations encapsulated in futures imperatively update externally visible data [Halstead 1985].
Using MultiLisp for solving constraint satisfaction problems: An application to nucleic acid 3D structure determination.