git @ Cat's Eye Technologies Lanthorn / master src / Language / Lanthorn / AST.hs
master

Tree @master (Download .tar.gz)

AST.hs @masterraw · history · blame

module Language.Lanthorn.AST where

type Name = String

data Expr = Fun [Name] Expr
          | Apply Name [Expr]
          | LetRec [(Name, Expr)] Expr        -- will be rewritten away before evaluation.
          | LetStar [(Name, Expr)] Expr
          | If Expr Expr Expr
          | NumLit Integer
          | ValueOf Name
    deriving (Show, Ord, Eq)