Department of Computer Science and Technology

Technical reports

Introduction to the programming language “Ponder”

Mark Tillotson

May 1985, 57 pages

DOIhttps://doi.org/10.48456/tr-65

Abstract

This document is primarily an introduction to the programming language ‘Ponder’. A section at the end gives details of the VAX UNIX implementation of Ponder, available from Cambridge.

The language was designed by Jon Fairbairn, at Cambridge, as an attempt to design a programming language with as few built-in constructs as possible, and yet to be as flexible and expressive as possible.

It is a purely applicative language, supporting higher-order functions with normal order evaluation and a polymorphic type system. The power of this approach is demonstrated by the ability to define, in Ponder, constructs (such as If-Then-Else-Fi and Case-Esac) that would be regarded as integral parts of most other programming languages.

Similarly, basic data-types, such as pairs and lists, can all be defined within the language. The combination of simplicity and straightforward extensibility give Ponder both the clear semantics desired in a programming language, and great expressive freedom. The model of computation is one that is not sequential, and could thus exploit parallelism, although the current implementations are on sequential machines.

Full text

PDF (3.9 MB)

BibTeX record

@TechReport{UCAM-CL-TR-65,
  author =	 {Tillotson, Mark},
  title = 	 {{Introduction to the programming language ``Ponder''}},
  year = 	 1985,
  month = 	 may,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-65.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-65},
  number = 	 {UCAM-CL-TR-65}
}