MAGMA-Lisp is a language conceived to ease the implementation of those A.I. systems that solve problems that are naturally formulated as searching in a tree of possibilities, such as playing board games.
Its development started in Pisa, Italy, in the early 1970s. The A.I. systems available at the time were mostly developed in Lisp, and implemented some specific strategy to explore the search tree, such as depth-first (consider in depth the first alternative) or breadth-first (consider all the alternatives at each level). However, it was generally felt in the A.I. community that intermediate, more flexible exploration policies were needed. To this end, MAGMA-Lisp extends standard Lisp, bringing the tree to the foreground, as a first-class object called the context tree, and gives the programmer complete control on its evolution and exploration.
The system designers were affiliated with the Istituto di Elaborazione dell’Informazione (IEI) of the Italian National Research Council (CNR) and with the Istituto di Scienze dell’Informazione of the University of Pisa (ISI): Carlo Montangero, Giuliano Pacini and Franco Turini designed and implemented the novel features of the language, and designed the garbage collector together with Maria Simi, who implemented it.
Only the last version of the code has been recovered: a paper printout listing some ten thousand lines of FORTRAN code for the IBM VM370 system, dated 10/15/81. Part of it has been saved in the Software Heritage archive: more than two thousand lines covering the novel control features, and almost eight hundred implementing the garbage collector.
MAGMA-Lisp owes its name to the possible intricacy of the resulting programs. Actually, one of its first uses was in the development of ND-Lisp, a language fostering a more structured approach to the definition of search strategies. Other uses include a couple of systems for the understanding of the Italian language, developed at the Istituto di Linguistica Computazionale (ILC) of the Italian National Research Council (CNR) in Pisa. The system was also used to support teaching A.I. at the University of Pisa.