Safe Haskell  SafeInferred 

Collecting sets of variables and constructors.
 freeT :: (BindStruct c, Ord n) => Env n > c n > Set (Bound n)
 freeX :: (BindStruct c, Ord n) => Env n > c n > Set (Bound n)
 collectBound :: (BindStruct c, Ord n) => c n > Set (Bound n)
 collectBinds :: (BindStruct c, Ord n) => c n > ([Bind n], [Bind n])
 data Support n = Support {
 supportTyCon :: Set (Bound n)
 supportTyConXArg :: Set (Bound n)
 supportSpVar :: Set (Bound n)
 supportSpVarXArg :: Set (Bound n)
 supportWiVar :: Set (Bound n)
 supportDaVar :: Set (Bound n)
 class SupportX c where
Free Variables
freeT :: (BindStruct c, Ord n) => Env n > c n > Set (Bound n)Source
Collect the free Spec variables in a thing (level1).
freeX :: (BindStruct c, Ord n) => Env n > c n > Set (Bound n)Source
Collect the free Data and Witness variables in a thing (level0).
Bounds and Binds
collectBound :: (BindStruct c, Ord n) => c n > Set (Bound n)Source
Collect all the bound variables in a thing, independent of whether they are free or not.
collectBinds :: (BindStruct c, Ord n) => c n > ([Bind n], [Bind n])Source
Collect all the spec and exp binders in a thing.
Support
Support  
