less prototype, less bad code implementation of CCHM type theory
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

25 lines
401 B

module Presyntax.Presyntax where
import Data.Text (Text)
data Plicity
= Im | Ex
deriving (Eq, Show, Ord)
data Expr
= Var Text
| App Plicity Expr Expr
| Pi Plicity Text Expr Expr
| Lam Plicity Text Expr
| Sigma Text Expr Expr
| Pair Expr Expr
| Proj1 Expr
| Proj2 Expr
deriving (Eq, Show, Ord)
data Statement
= Decl Text Expr
| Defn Text Expr
deriving (Eq, Show, Ord)