pi/src/Value.idr

25 lines
451 B
Idris

module Value
import Term
import Misc
%default total
public export
data NF : Type where
NType : NF -- Type of types
NLam : NF -> Term 1 -> NF -- Lambda abstraction
NPi : NF -> Term 1 -> NF -- Pi Type
public export
data Glue : Type where
MkGlue : Term 0 -> (Term 0 -> PI NF) -> Glue
public export
getTerm : Glue -> Term 0
getTerm (MkGlue term _) = term
public export
getNF : Glue -> PI NF
getNF (MkGlue term f) = f term