A new AFL-derived language called JMSL is presented which rnodifies seven aspects of APL so that many current and potential APL users could benefit from a language which is easier to learn, read, write, and maintain. JMSL uses ASCII tokens instead of APL symbols to remedy interfacing, extensibility, and readability problems with APL. JMSL revises and extends APL built-in capabilities to provide greater expression and improved symbol-meaning correspondence. JMSL includes a new notation for nested arrays (a powerful data structure which combines the array processing of APL with the tree processing of LISP). JMSL provides hierarchical directories (similar to PASCAL or PL/I records) to allow structures to be indexed by name. JMSL modifies the traditional APL library/workspace storage interface by unifying the syntax of system commands in a way which allows UNIX-like directory storage. JMSL provides high-level control structures similar to those found in block-structured languages, including an event-handling mechanism. JMSL amends the APL scope rules to alleviate problems with side effects and object localization. Some areas of future work are discussed, and a description of JMSL syntax and semantics is included.
Computer Science (MS)
Department, Program, or Center
Computer Science (GCCIS)
Smeenk, John Mark, "JMSL - a language derived from APL" (1986). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus