PAL, the Pedagogic Algorithmic Language, is a programming language developed at the Massachusetts Institute of Technology in around 1967 to help teach programming language semantics and design.[1] [2] It is a "direct descendant" of ISWIM and owes much of its philosophy to Christopher Strachey.[3]
The initial implementation of PAL, in Lisp, was written by Peter Landin and James H. Morris, Jr. and ran under CTSS. It was later redesigned by Martin Richards, Thomas J. Barkalow, Arthur Evans, Jr., Robert M. Graham, James Morris, and John Wozencraft. It was implemented by Richards and Barkalow in BCPL as an intermediate-code interpreter and ran on the IBM System/360; this was called PAL/360.[4]
RPAL, the Right-reference Pedagogic Algorithmic Language, is a functional subset of PAL with an implementation on SourceForge.[5] It is used at the University of Florida to teach the construction of programming languages and functional programming. Programs are strictly functional, with no sequence or assignment operations.