MultiLisp is a functional programming language and dialect of the Lisp dialect Scheme, extended with constructs for parallel execution and shared memory; MultiLisp is implemented in Interlisp. These extensions involve side effects, rendering MultiLisp non-deterministic. In addition to its parallel-programming extensions, MultiLisp also had some unusual garbage collection and task scheduling algorithms. Like Scheme, MultiLisp is oriented toward symbolic computation. Unlike some parallel programming languages, MultiLisp incorporates constructs for causing side effects and for explicitly introducing parallelism. It was designed by Robert H. Halstead in the early 1980s for use on the 32-processor Concert multiprocessor being developed at MIT. It has influenced the development of the Scheme dialect Gambit *, and Interlisp-VAX
(PCALL Fun A B C ...)
is equivalent to
(Fun A B C ...)
except that the arguments A, B, C, etc are explicitly allowed to be evaluated in parallel; this circumvents the usual order of evaluation, which is sequential and left to right. It also makes use of a parallel programming construct called futures, (which resembles forking, combined with Lazy evaluation) to allow PCALLs to be made for basic operations such as:
(PCALL cons (A) (B))
Concurrent programming languages | Dynamically-typed programming languages | Functional languages | Lisp programming language family | Multi-paradigm programming languages
This article is licensed under the GNU Free Documentation License.
It uses material from the
"MultiLisp".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world