blanks-0.3.0: Fill-in-the-blanks - A library factoring out substitution from ASTs

Safe HaskellNone
LanguageHaskell2010

Blanks.PureScope

Documentation

newtype PureScope n f a Source #

Constructors

PureScope 

Fields

Instances
Functor f => Monad (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

Methods

(>>=) :: PureScope n f a -> (a -> PureScope n f b) -> PureScope n f b #

(>>) :: PureScope n f a -> PureScope n f b -> PureScope n f b #

return :: a -> PureScope n f a #

fail :: String -> PureScope n f a #

Functor f => Functor (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

Methods

fmap :: (a -> b) -> PureScope n f a -> PureScope n f b #

(<$) :: a -> PureScope n f b -> PureScope n f a #

Functor f => Applicative (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

Methods

pure :: a -> PureScope n f a #

(<*>) :: PureScope n f (a -> b) -> PureScope n f a -> PureScope n f b #

liftA2 :: (a -> b -> c) -> PureScope n f a -> PureScope n f b -> PureScope n f c #

(*>) :: PureScope n f a -> PureScope n f b -> PureScope n f b #

(<*) :: PureScope n f a -> PureScope n f b -> PureScope n f a #

Foldable f => Foldable (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

Methods

fold :: Monoid m => PureScope n f m -> m #

foldMap :: Monoid m => (a -> m) -> PureScope n f a -> m #

foldr :: (a -> b -> b) -> b -> PureScope n f a -> b #

foldr' :: (a -> b -> b) -> b -> PureScope n f a -> b #

foldl :: (b -> a -> b) -> b -> PureScope n f a -> b #

foldl' :: (b -> a -> b) -> b -> PureScope n f a -> b #

foldr1 :: (a -> a -> a) -> PureScope n f a -> a #

foldl1 :: (a -> a -> a) -> PureScope n f a -> a #

toList :: PureScope n f a -> [a] #

null :: PureScope n f a -> Bool #

length :: PureScope n f a -> Int #

elem :: Eq a => a -> PureScope n f a -> Bool #

maximum :: Ord a => PureScope n f a -> a #

minimum :: Ord a => PureScope n f a -> a #

sum :: Num a => PureScope n f a -> a #

product :: Num a => PureScope n f a -> a #

Traversable f => Traversable (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

Methods

traverse :: Applicative f0 => (a -> f0 b) -> PureScope n f a -> f0 (PureScope n f b) #

sequenceA :: Applicative f0 => PureScope n f (f0 a) -> f0 (PureScope n f a) #

mapM :: Monad m => (a -> m b) -> PureScope n f a -> m (PureScope n f b) #

sequence :: Monad m => PureScope n f (m a) -> m (PureScope n f a) #

Functor f => BlankAbstract (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

Functor f => BlankEmbed (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

(Eq (f (ScopeT Identity n f a)), Eq n, Eq a) => Eq (PureScope n f a) Source # 
Instance details

Defined in Blanks.PureScope

Methods

(==) :: PureScope n f a -> PureScope n f a -> Bool #

(/=) :: PureScope n f a -> PureScope n f a -> Bool #

(Show (f (ScopeT Identity n f a)), Show n, Show a) => Show (PureScope n f a) Source # 
Instance details

Defined in Blanks.PureScope

Methods

showsPrec :: Int -> PureScope n f a -> ShowS #

show :: PureScope n f a -> String #

showList :: [PureScope n f a] -> ShowS #

type BlankCodomain (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

type BlankFunctor (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

type BlankFunctor (PureScope n f) = f
type BlankInfo (PureScope n f) Source # 
Instance details

Defined in Blanks.PureScope

type BlankInfo (PureScope n f) = n

type PureScopeFold n f a r = UnderScopeFold n f (PureScope n f a) a r Source #

pureScopeBind :: Functor f => (a -> PureScope n f b) -> PureScope n f a -> PureScope n f b Source #

pureScopeEmbed :: Functor f => f (PureScope n f a) -> PureScope n f a Source #