DrHylo-0.0.1: lib/Language/Pointfree/Syntax.hs
module Language.Pointfree.Syntax where
data Type = One
| Base String
| Fix Funct
| Type :*: Type
| Type :+: Type
| Type :-> Type
deriving Eq
data Funct = Id
| Const Type
| Funct :**: Funct
| Funct :++: Funct
deriving Eq
data Term = ID | Term :.: Term
| FST | SND | Term :/\: Term
| INL | INR | Term :\/: Term
| AP | Curry Term
| BANG
| Macro String [Term]
| Point String
| IN | OUT
| Hylo Type Term Term
| HyloO Type Term Term
deriving Eq