write-you-a-haskell/chapter9/provenance/Syntax.hs
2015-01-18 21:32:12 -05:00

17 lines
222 B
Haskell

module Syntax (
Expr(..),
Name,
Loc(..),
) where
type Name = String
data Expr
= Var Loc Name
| App Loc Expr Expr
| Lam Loc Name Expr
| Lit Loc Int
data Loc = NoLoc | Located Int
deriving (Show, Eq, Ord)