A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.softwarepreservation.org/projects/lang/PAL below:

History of PAL — Software Preservation Group

Document Actions History of PAL

Paul McJones, editor - paul@mcjones.org - http://www.mcjones.org/dustydecks/
Software Preservation Group
Computer History Museum

Introduction

The goal of this project is to preserve and present primary and secondary source materials (including specifications, source code, manuals, and papers discussing design and implementation) from PAL, the Pedagogic Algorithmic Language. The editor greatly appreciates comments, suggestions, and donations of additional materials.

"Landin’s programming language ISWIM and its immediate derivative PAL were implemented on CTSS, a translator-interpreter system.

ISWIM is modelled after Church’s λ-calculus. The ISWIM expression

f(3) + f(4) where f(x) = 2*x

corresponds to the λ-calculus formula

[λf. f(3) + f(4)] [λx. 2*x]

which, in turn, corresponds to the LISP S-expression

( (LAMBDA (F) (PLUS (F 3) (F 4)))
	     (FUNCTION (LAMBDA (X) (TIMES 2 x ))) )

The interpretive mechanism is virtually the SECD machine.* The translator from ISWIM to λ-calculus is based on Floyd’s scanner for precedence grammars extended to provide good error diagnostics. A primitive text-editing system is provided within the system to allow immediate correction of programs, although programs may also be entered via standard CTSS line-marked files.

The system was written in LISP to allow easy modification; a second implementation, written in a compiled language, is being planned. PAL was used as an instructional aid in an undergraduate course in Computer Science.

* P.J. Landin, A λ-Calculus Approach, Advances in Programming and Non-numerical Computation, Pergamon Press, 1966" [Landin and Morris 1967]

"The PAL language is a direct descendent of Peter Landin's ISWlM, although there are important differences, particularly in the imperatives. The first implementation of PAL was by Landin and James H. Morris, Jr., in LISP. The language they implemented was much closer to ISWIM than to PAL as it now exists.

The present version of PAL was designed by Martin Richards along with Thomas J. Barkalow, Evans, Robert M. Graham, Morris and John M. Wozencraft. The implementation is the work of Richards and Barkalow.

The intellectual effort of which PAL is one outgrowth owes much to Christopher Strachey." [Evans 1968]

Contents Acknowledgments

Thanks to: Arthur Evans Jr. and Frances J. Wozencraft, Martin Richards, Edward A. Feustel, Robert Mabee, Jim Stephens, and C. D. Tavares.

Source code PAL system

The PAL/360 system consists of a compiler that translates from PAL to POCODE, an interpreter for POCODE, and a shell interfacing PAL to the underlying operating system.

"POCODE is stored in disk files to support separate compilation, so that the instructors could supply test frameworks that student programs would run against. PAL deliberately models the most interesting aspects of contemporary languages (to fulfil the purpose of course 6.231) but misses all the separate-compilation issues like local vs global names, libraries, include files, linking, etc." [Robert Mabee, personal communication, September 4, 2010]

PAL programs Documentation Papers and reports Other PAL resources « July 2025 » Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4