Jump to content

PAL (programming language)

From Wikipedia, the free encyclopedia
Pedagogic Algorithmic Language (PAL)
Paradigmsfunctional, imperative
Designed byOriginal:
Peter Landin,
James H. Morris, Jr.
Redesign:
Martin Richards, Thomas J. Barkalow, Arthur Evans, Jr., Robert M. Graham, James Morris, John Wozencraft
DeveloperMassachusetts Institute of Technology
First appeared1967; 58 years ago (1967)
Final release
RPAL 0.2.0-rc1 / 4 October 2006; 18 years ago (2006-10-04)
Typing disciplinedynamic
Scopelexical
Implementation languageOriginal: Lisp
Redesign: BCPL
PlatformIBM 7090, 7094; System/360
OSCompatible Time-Sharing System, BOS/360, TOS/360, DOS/360, OS/360
Websiterpal.sourceforge.net
Dialects
Right-reference Pedagogic Algorithmic Language (RPAL)
Influenced by
ISWIM

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 on the Compatible Time-Sharing System (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

[edit]

The Right-reference Pedagogic Algorithmic Language (RPAL), is a functional programming 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.

References

[edit]
  1. ^ Evans, Arthur Jr. (February 1968). "PAL: Pedagogic Algorithmic Language: A Reference Manual and a Primer" (PDF). Computer History Museum: Software Preservation Group. Mountain View, California: Department of Electrical Engineering, MIT. Retrieved 10 November 2022.
  2. ^ John M. Wozencraft and Arthur Evans, Jr. Notes on Programming Linguistics. Unpublished report, Department of Electrical Engineering, MIT. February, 1971.
  3. ^ Arthur Evans, Jr., "PALโ€”a language designed for teaching programming linguistics" Proceedings of the 1968 23rd ACM National Conference (August 27โ€“29, 1968), p. 395-403 ACM abstract
  4. ^ "PAL (Pedagogic Algorithmic Language)". Computer History Museum, Software Preservation Group.
  5. ^ "RPAL - The Right-reference Pedagogic Algorithmic Language". SourceForge.