In designing MIDI-LISP, our goal was to make LISP usable as a MIDI-oriented music programming environment for both real-time performance and non-real-time composition and analysis applications.: As a language, LISP is well adapted to music programming because of its symbol manipulation power, its orientation towards rapid response interactive programming, and its very simple and uniform syntax that applies to both procedures and data. To make LISP effective for MIDI applications we added a MIDI driver accessed by an extensive set of LISP functions, an optimized event sorter for the scheduling of both MIDI codes and the evaluation of LISP functions, and specialized LISP functions for the construction of interactive graphic control panels. As we wanted to make LISP really usable as a real-time control language, we maintained strict control over memory allocation and deallocation to inhibit LISP's tendency to stop what it is doing to reclaim memory - garbage collection. MIDI-LISP is implemented in Le_Lisp, an efficient and complete LISP on the Apple Macintosh Plus and takes advantage of the graphical user-interface potential of that machine.
This paper costs $33 for non-members and is free for AES members and E-Library subscribers.