unbound-kind-generics-0.2.1.1: Support for programming with names and binders using kind-generics
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unbound.Generics.LocallyNameless.Kind.Derive

Documentation

newtype AutoAlpha a Source #

Constructors

AutoAlpha 

Fields

Instances

Instances details
Show a => Show (AutoAlpha a) Source # 
Instance details

Defined in Unbound.Generics.LocallyNameless.Kind.Derive

Eq a => Eq (AutoAlpha a) Source # 
Instance details

Defined in Unbound.Generics.LocallyNameless.Kind.Derive

(Typeable a, GenericAlpha a, Show a) => Alpha (AutoAlpha a) Source # 
Instance details

Defined in Unbound.Generics.LocallyNameless.Kind.Derive

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 #

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