git @ Cat's Eye Technologies PL-GOTO.NET / develop-2021

Tree @develop-2021 (Download .tar.gz)


This is the reference distribution of PL-{GOTO}.NET, a literate Haskell program which compiles a program written in PL-{GOTO} to an MSIL file which can then be assembled by ilasm to produce a .NET executable. PL-{GOTO} is a pedagogical language, described in Brainerd and Landweber's Theory of Computation (1974; ISBN 0471095850), in which it is possible to express only computations which are primitive recursive.

The source code of the compiler is in the file src/PLexceptGOTOdotNET.lhs. Being written in literate Haskell, it also serves as documentation for the compiler.

A test suite written in Falderal format can be found in the tests directory and can be run with the script in the root directory.

The bin directory contains bin/PLexceptGOTOdotNET-loadngo, a shell script that demonstrates the end-to-end usage of the compiler. You'll need ilasm installed. On Ubuntu, this is provided by the mono-devel package.

The materials in this distribution are in the public domain; see the file UNLICENSE for more information.