An Interface to LFPL Prototype Compiler by Robert Atkey
(frontend: uapl)

This frontend has been added to the compiler by Michal Konečn and corresponds to the typing described in the paper Another Type System for In-Place Update by David Aspinall and Martin Hofmann.

The input syntax is the same as for LFPL. Product types (t1,t2) are treated as cartesian products while the implicit products in datatypes are treated as tensor products.

This frontend infers a so called usage aspect for each argument of all the functions. In addition to the following three usage aspects

defined in the above paper, the compiler may use the following fourth aspect whose presence makes it possible for the compiler to produce a valid annotation even for incorrect programs.

Type a program or start with the examples (div23.uapl, insertsort.uapl) :
Choose backend:

Back to the main page of the compiler by Robert Atkey.
Other frontends available: lfpl , deel
Other compilers available: by Nick Brown , Borel
Back to the main project page.
Michal Konečn
Last modified: Fri Feb 21 14:30:18 GMT 2003