bound-0.5: Haskell 98/2010 Locally-Nameless Generalized de Bruijn Terms

MaintainerEdward Kmett <>
Safe HaskellSafe-Inferred






data Var b a Source

"I am not a number, I am a free monad!"

A Var b a is a variable that may either be "bound" (B) or "free" (F).

(It is also technically a free monad in the same near-trivial sense as Either.)


B b

this is a bound variable

F a

this is a free variable


Typeable2 Var 
Bitraversable Var 
Bifunctor Var 
Bifoldable Var 
Eq2 Var 
Ord2 Var 
Show2 Var 
Read2 Var 
Monad (Var b) 
Functor (Var b) 
Functor (Var b) => Applicative (Var b) 
Foldable (Var b) 
(Functor (Var b), Foldable (Var b)) => Traversable (Var b) 
Eq b => Eq1 (Var b) 
(Eq1 (Var b), Ord b) => Ord1 (Var b) 
Show b => Show1 (Var b) 
Read b => Read1 (Var b) 
(Eq b, Eq a) => Eq (Var b a) 
(Typeable (Var b a), Data b, Data a) => Data (Var b a) 
(Eq (Var b a), Ord b, Ord a) => Ord (Var b a) 
(Read b, Read a) => Read (Var b a) 
(Show b, Show a) => Show (Var b a) 
Generic (Var b a)