repos
/
DrHylo
/ headblob
summary
|
shortlog
|
log
|
tree
|
annotate
|
headblob
|
filehistory
plain
/
lib
/
Language
/
Pointfree
/
/lib/Language/Pointfree/Syntax.hs
1
module Language.Pointfree.Syntax where
2
3
data Type = One
4
| Base String
5
| Fix Funct
6
| Type :*: Type
7
| Type :+: Type
8
| Type :-> Type
9
deriving Eq
10
11
data Funct = Id
12
| Const Type
13
| Funct :**: Funct
14
| Funct :++: Funct
15
deriving Eq
16
17
data Term = ID | Term :.: Term
18
| FST | SND | Term :/\: Term
19
| INL | INR | Term :\/: Term
20
| AP | Curry Term
21
| BANG
22
| Macro String [Term]
23
| Point String
24
| IN | OUT
25
| Hylo Type Term Term
26
| HyloO Type Term Term
27
deriving Eq
28