The Right-reference Pedagogic Algorithmic Language

rpal is an interpreter for RPAL, a simple functional programming language which is a subset of PAL, a language invented at MIT by Wozencraft and Evans in the early '70s.



System Requirements

rpal aims to be portable to any POSIX-like system, including Cygwin and Darwin/OS X.

rpal requires GNU Guile. It is actively developed against the 1.6 version series, but ought to also work with 1.4 and possibly earlier versions.

To compile rpal, you will need lex and yacc in addition to the standard UNIX tool-chain. Most any combination of lex/flex and yacc/byacc/bison should be adequate.

rpal's manpage is generated from Docbook. In the distribution, the manpage comes pre-generated, but if you want to make changes to it you will need an XSLT processor. Currently the build system can automatically detect and use either xsltproc or saxon.


rpal uses Subversion for version control. The root of the subversion repository is https://svn.sourceforge.net/svnroot/rpal/trunk. Anonymous read-only access is publicly available.


Currently the only documentation for the RPAL language is the notes authored by Professor Manuel Bermúdez (PDF):

All of these documents as well as a manpage for the interpreter are included in the distribution.

The essay How to Write an Interpreter in One Day covers some rpal internals.


Copyright (C) 2006 Daniel Franke

rpal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.