compilation-0.0.0.2: Haskell functionality for quickly assembling simple compilers.

Safe HaskellSafe-Inferred

Control.Compilation

Description

Compilation Monad and combinators for quickly assembling simple compilers.

Control/Compilation.hs

A generic compilation monad for quickly assembling simple compilers.

Synopsis

Documentation

type FreshIndex = IntegerSource

Data types, class declarations, and class memberships.

class StateExtension a whereSource

Methods

initial :: aSource

Instances

StateExtension ()

Default memberships.

type Compile a b = Compilation a bSource

data Compilation a b Source

Constructors

Compilation (State a -> (State a, b)) 
Error String 

Instances

StateExtension a => Monad (Compilation a)

Standard state monad definition.

extract :: StateExtension a => Compilation a b -> aSource

Generic combinators and functions.