packages feed

epic-0.1.2: Epic/OTTLang.lhs

> module Epic.OTTLang where

> import Epic.Language

Terms

t = x | lam x. t | t t
  | i t | hd(t) | tl(t) | 
  | switch(t) [t]
  | TY

> data OTTerm = OTRef Name -- Global or unresolved name
>             | OTV Int -- Locally bound name
>             | OTLam Name
>             | OTApp OTTerm OTTerm
>             | OTRec Tag OTTerm
>             | OTHd OTTerm
>             | OTTl OTTerm
>             | OTSwitch OTTerm [OTTerm]
>             | OTTY -- can't look at types, so dump them all here