ltext-0.1.2.1: Parameterized file evaluator

Safe HaskellNone
LanguageHaskell2010

LText.Type

Contents

Synopsis

Type Grammar

data Type Source #

We're working in an implicitly quantified prenex-polymorphic type system, so trivial type expressions are also type schemes.

Constructors

Text 
TVar String 
TArrow Type Type 

Instances

Kit Effects

data TypeError Source #

TypeChecking

newtype Subst Source #

Constructors

Subst 

Instances

varBind :: MonadTypecheck m => String -> Type -> m Subst Source #

Substitute n for t, given there's no collision

quantify :: MonadTypecheck m => Type -> m Scheme Source #

Where we don't want to include variables bound by our context

unQuantify :: MonadTypecheck m => Scheme -> m Type Source #

Replaces bound variables with fresh ones

Actual Typechecking

data ExprType Source #

Constructors

TopLevel 
DocLevel