Home

Awesome

A compiler for a subset of Haskell to Combinatory Logic

Build Status

Adapted from the original version by Ben Lynn

This is an elaboration and annotation of Ben Lynn's Haskell compiler and C VM. The main aim is to improve upon the compiler, in various layers (see Future plans).

Features

Usage

./blynn <binary> <input> <output>

Where binary is the CL program to run, input is the file whose contents are passed to the program, and output is the file to write the output to.

Building

Requirements

Testing

To check self-compilation, run ./check.sh classy.hs. It does the following:

If you've made a change to what classy.hs outputs, (e.g. an optimization to code generation), run ./check_compile.sh classy.hs instead. It adds another step to the same process in check.sh to ensure that the changes propagate.

<a name="future-plans">Future plans</a>

Bootstrapping

C runtime

Compiler

Initial phase; parsing and totality, then reduce heap usage.

Parser

Types