spine-0.1: Simple implementation of the generic spine view

Generics.Spine.Base

Documentation

data Type whereSource

Constructors

Char :: Type Char 
Int :: Type Int 
Bool :: Type Bool 
List :: Type a -> Type [a] 
Pair :: Type a -> Type b -> Type (a, b) 

data Typed a Source

Constructors

:> 

Fields

typeOf :: Type a
 
val :: a
 

data Constr a Source

Constructors

Constr 

Fields

constr :: a
 
name :: String
 

data Spine whereSource

Constructors

Con :: Constr a -> Spine a 
:<>: :: Spine (a -> b) -> Typed a -> Spine b 

data Signature whereSource

Constructors

Sig :: Constr a -> Signature a 
:&: :: Signature (a -> b) -> Type a -> Signature b