Il a été conçu par Robert H. Halstead Jr., au début des années 1980, pour être utilisé sur le multiprocesseur Concert à 32 processeurs alors en développement au Massachusetts Institute of Technology (MIT) et implémenté en Interlisp . Il a influencé le développement des dialectes Scheme Gambit , et Interlisp- VAX .
PCALL et FUTURE
MultiLisp atteint le parallélisme avec la macro PCALL , où
(PCALL Fun A B C ...)
est équivalent à
(Fun A B C ...)
À ceci près que les arguments,A, B, C, etc., peuvent explicitement être évalués en parallèle ; ceci contourne l’ordre d’évaluation habituel, qui est séquentiel et s’effectue de gauche à droite. On utilise également une construction de programmation parallèle appelée futures , qui s’apparente à la création de processus (forking ), combinée à l’évaluation paresseuse . Grâce à cette construction, une expression telle que
(cons (FUTURE A) (FUTURE B))
peut être écrit, ce qui chevauchera l'évaluation des expressions A et B, non seulement entre elles, mais aussi avec les calculs qui utilisent le résultat de l' appel cons , jusqu'à ce qu'une opération soit effectuée qui nécessite des informations correctes sur la valeur de A ou B.