Safe Haskell | None |
---|---|
Language | Haskell2010 |
Blanks.Tracked
Description
Utilities for gathering and caching sets of free variables.
Documentation
Constructors
Tracked | |
Fields
|
Instances
Eq a => Eq (Tracked a) Source # | |
Show a => Show (Tracked a) Source # | |
Generic (Tracked a) Source # | |
Ord a => Semigroup (Tracked a) Source # | |
Ord a => Monoid (Tracked a) Source # | |
NFData a => NFData (Tracked a) Source # | |
Defined in Blanks.Tracked | |
type Rep (Tracked a) Source # | |
Defined in Blanks.Tracked type Rep (Tracked a) = D1 ('MetaData "Tracked" "Blanks.Tracked" "blanks-0.5.0-inplace" 'False) (C1 ('MetaCons "Tracked" 'PrefixI 'True) (S1 ('MetaSel ('Just "trackedFree") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set a)) :*: S1 ('MetaSel ('Just "trackedBound") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set Int)))) |
mkTrackedFree :: a -> Tracked a Source #
mkTrackedBound :: Int -> Tracked a Source #
data WithTracked a l Source #
Constructors
WithTracked | |
Fields
|
Instances
Functor (WithTracked a) Source # | |
Defined in Blanks.Tracked Methods fmap :: (a0 -> b) -> WithTracked a a0 -> WithTracked a b # (<$) :: a0 -> WithTracked a b -> WithTracked a a0 # | |
Foldable (WithTracked a) Source # | |
Defined in Blanks.Tracked Methods fold :: Monoid m => WithTracked a m -> m # foldMap :: Monoid m => (a0 -> m) -> WithTracked a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> WithTracked a a0 -> m # foldr :: (a0 -> b -> b) -> b -> WithTracked a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> WithTracked a a0 -> b # foldl :: (b -> a0 -> b) -> b -> WithTracked a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> WithTracked a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> WithTracked a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> WithTracked a a0 -> a0 # toList :: WithTracked a a0 -> [a0] # null :: WithTracked a a0 -> Bool # length :: WithTracked a a0 -> Int # elem :: Eq a0 => a0 -> WithTracked a a0 -> Bool # maximum :: Ord a0 => WithTracked a a0 -> a0 # minimum :: Ord a0 => WithTracked a a0 -> a0 # sum :: Num a0 => WithTracked a a0 -> a0 # product :: Num a0 => WithTracked a a0 -> a0 # | |
Traversable (WithTracked a) Source # | |
Defined in Blanks.Tracked Methods traverse :: Applicative f => (a0 -> f b) -> WithTracked a a0 -> f (WithTracked a b) # sequenceA :: Applicative f => WithTracked a (f a0) -> f (WithTracked a a0) # mapM :: Monad m => (a0 -> m b) -> WithTracked a a0 -> m (WithTracked a b) # sequence :: Monad m => WithTracked a (m a0) -> m (WithTracked a a0) # | |
(Eq a, Eq l) => Eq (WithTracked a l) Source # | |
Defined in Blanks.Tracked Methods (==) :: WithTracked a l -> WithTracked a l -> Bool # (/=) :: WithTracked a l -> WithTracked a l -> Bool # | |
(Show a, Show l) => Show (WithTracked a l) Source # | |
Defined in Blanks.Tracked Methods showsPrec :: Int -> WithTracked a l -> ShowS # show :: WithTracked a l -> String # showList :: [WithTracked a l] -> ShowS # | |
Generic (WithTracked a l) Source # | |
Defined in Blanks.Tracked Associated Types type Rep (WithTracked a l) :: Type -> Type # Methods from :: WithTracked a l -> Rep (WithTracked a l) x # to :: Rep (WithTracked a l) x -> WithTracked a l # | |
(NFData a, NFData l) => NFData (WithTracked a l) Source # | |
Defined in Blanks.Tracked Methods rnf :: WithTracked a l -> () # | |
type Rep (WithTracked a l) Source # | |
Defined in Blanks.Tracked type Rep (WithTracked a l) = D1 ('MetaData "WithTracked" "Blanks.Tracked" "blanks-0.5.0-inplace" 'False) (C1 ('MetaCons "WithTracked" 'PrefixI 'True) (S1 ('MetaSel ('Just "withTrackedState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tracked a)) :*: S1 ('MetaSel ('Just "withTrackedEnv") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 l))) |
forgetTrackedScope :: Functor f => LocScope (WithTracked a l) n f z -> LocScope l n f z Source #
trackScope :: (Traversable f, Ord a) => LocScope l n f a -> LocScope (WithTracked a l) n f a Source #
trackScopeSimple :: (Traversable f, Ord a) => Scope n f a -> LocScope (Tracked a) n f a Source #