unbound-kind-generics-0.2.0.0: Support for programming with names and binders using kind-generics

Safe HaskellNone
LanguageHaskell2010

Unbound.Generics.LocallyNameless.Kind.Derive

Documentation

aeqDefK :: forall a. GenericAlpha a => AlphaCtx -> a -> a -> Bool Source #

fvAnyDefK :: forall g a. (GenericAlpha a, Contravariant g, Applicative g) => AlphaCtx -> (AnyName -> g AnyName) -> a -> g a Source #

closeDefK :: forall a. GenericAlpha a => AlphaCtx -> NamePatFind -> a -> a Source #

openDefK :: forall a. GenericAlpha a => AlphaCtx -> NthPatFind -> a -> a Source #

isPatDefK :: forall a. GenericAlpha a => a -> DisjointSet AnyName Source #

isTermDefK :: forall a. GenericAlpha a => a -> All Source #

nthPatFindDefK :: forall a. GenericAlpha a => a -> NthPatFind Source #

namePatFindDefK :: forall a. GenericAlpha a => a -> NamePatFind Source #

swapsDefK :: forall a. GenericAlpha a => AlphaCtx -> Perm AnyName -> a -> a Source #

lfreshenDefK :: forall m a b. (LFresh m, GenericAlpha a) => AlphaCtx -> a -> (a -> Perm AnyName -> m b) -> m b Source #

freshenDefK :: forall m a. (Fresh m, GenericAlpha a) => AlphaCtx -> a -> m (a, Perm AnyName) Source #

acompareDefK :: forall a. GenericAlpha a => AlphaCtx -> a -> a -> Ordering Source #

buildSubstName :: forall a b. (Typeable a, Typeable b) => Name a -> Maybe (SubstName a b) Source #

gsubstDefK :: forall a b. (GenericK a, GSubstK b (RepK a) LoT0, Subst b a) => Name b -> b -> a -> a Source #

gsubstsDefK :: forall a b. (GenericK a, GSubstK b (RepK a) LoT0, Subst b a) => [(Name b, b)] -> a -> a Source #