packages feed

HaRe-0.6: StrategyLib-4.0-beta/examples/little-lambda/Datatypes.hs

{-----------------------------------------------------------------------------

			Example: LITTLE LAMBDA

			     StrategyLib

                   Ralf Laemmel                Joost Visser
               CWI & VU, Amsterdam            CWI, Amsterdam

-----------------------------------------------------------------------------}

module Datatypes where

--- Grammar ------------------------------------------------------------------

data Type = TVar Identifier
          | Arrow Type Type
          deriving (Show,Eq)
data Expr = Var Identifier
          | Apply Expr Expr
          | Lambda Identifier Type Expr
          deriving (Show,Eq)

type Identifier = String

------------------------------------------------------------------------------