SNAPKITTYWEST's picture
push from SNAPKITTYWEST/pure-validity
56de343 verified
Raw
History Blame Contribute Delete
456 Bytes
module Language.AST where
data Ident = Ident String
deriving (Eq, Ord, Show)
data Expr
= EVar Ident
| ENand Expr Expr
| ELit Bool
| EApp Ident [Expr]
deriving (Eq, Show)
data Stmt
= SDef Ident [Ident] Expr
| SAssert Expr
| SProve Ident Expr
deriving (Eq, Show)
data Module = Module
{ moduleName :: String
, moduleStmts :: [Stmt]
} deriving (Show)
identName :: Ident -> String
identName (Ident s) = s