Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class BlankAbstract (m :: * -> *) where Source #
blankFree :: a -> BlankCodomain m (m a) Source #
"free name"
blankAbstract :: Eq a => BlankInfo m -> Seq a -> m a -> BlankCodomain m (m a) Source #
"abstract info names body"
blankAbstract1 :: Eq a => BlankInfo m -> a -> m a -> BlankCodomain m (m a) Source #
blankAbstract
for a single argument
blankUnAbstract :: Seq a -> m a -> m a Source #
"unAbstract names body"
blankUnAbstract1 :: a -> m a -> m a Source #
blankInstantiate :: Seq (BlankCodomain m (m a)) -> m a -> m a Source #
"instantiate args body"
blankInstantiate1 :: BlankCodomain m (m a) -> m a -> m a Source #
blankInstantiate
for a single argument
blankApply :: Seq (BlankCodomain m (m a)) -> m a -> Either SubError (m a) Source #
"apply args abstraction"
blankApply1 :: BlankCodomain m (m a) -> m a -> Either SubError (m a) Source #
blankApply
for a single argument
Instances
type family BlankCodomain (m :: * -> *) :: * -> * Source #
Instances
type BlankCodomain (PureScope n f) Source # | |
Defined in Blanks.PureScope | |
type BlankCodomain (ScopeT t n f) Source # | |
Defined in Blanks.ScopeT | |
type BlankCodomain (LocScope l n f) Source # | |
Defined in Blanks.LocScope |
class BlankEmbed (m :: * -> *) where Source #
blankEmbed :: BlankFunctor m (m a) -> BlankCodomain m (m a) Source #
"embed functor"
Instances
Functor f => BlankEmbed (PureScope n f) Source # | |
Defined in Blanks.PureScope blankEmbed :: BlankFunctor (PureScope n f) (PureScope n f a) -> BlankCodomain (PureScope n f) (PureScope n f a) Source # | |
RightAdjunction t => BlankEmbed (ScopeT t n f) Source # | |
Defined in Blanks.ScopeT blankEmbed :: BlankFunctor (ScopeT t n f) (ScopeT t n f a) -> BlankCodomain (ScopeT t n f) (ScopeT t n f a) Source # | |
Functor f => BlankEmbed (LocScope l n f) Source # | |
Defined in Blanks.LocScope blankEmbed :: BlankFunctor (LocScope l n f) (LocScope l n f a) -> BlankCodomain (LocScope l n f) (LocScope l n f a) Source # |
type family BlankFunctor (m :: * -> *) :: * -> * Source #
Instances
type BlankFunctor (PureScope n f) Source # | |
Defined in Blanks.PureScope | |
type BlankFunctor (ScopeT t n f) Source # | |
Defined in Blanks.ScopeT | |
type BlankFunctor (LocScope l n f) Source # | |
Defined in Blanks.LocScope |