Files
gyehoek-hs/app/Gyehoek/Syntax.hs
T
2026-05-05 07:29:54 -06:00

26 lines
413 B
Haskell

module Gyehoek.Syntax where
import Data.Text (Text)
import Data.List (List)
type Name = Text
data Prim = PrimAdd | PrimSub | PrimMul | PrimDiv
deriving (Show)
data Val
= ValInt Int
| ValNil
| ValPrim Prim
| ValLambda (List Name) Exp
| ValVar Name
deriving (Show)
data Exp
= ExpLet (List (Name, Exp)) Exp
| ExpApply Exp (List Exp)
| ExpProgn (List Exp)
| ExpVal Val
deriving (Show)