git @ Cat's Eye Technologies PL-GOTO.NET / master README.md
master

Tree @master (Download .tar.gz)

README.md @masterview markup · raw · history · blame

PL-{GOTO}.NET

Try it online @ catseye.tc | See also: Exanoke


This is the reference distribution of PL-{GOTO}.NET, a literate Haskell program which compiles a program written in PL-{GOTO} to a CIL 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 test.sh 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 LICENSES/Unlicense.txt for more information.