glambda-1.0.2: A simply typed lambda calculus interpreter, written with GADTs

Copyright(C) 2015 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (rae@cs.brynmawr.edu)
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Language.Glambda.Check

Description

The glambda typechecker.

Synopsis

Documentation

check :: (MonadError Doc m, MonadReader Globals m) => UExp -> (forall t. STy t -> Exp '[] t -> m r) -> m r Source #

Check the given expression, aborting on type errors. The resulting type and checked expression is given to the provided continuation. This is parameterized over the choice of monad in order to support pure operation during testing. GlamE is the canonical choice for the monad.