Hoogle Search
Within LTS Haskell 24.28 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
constrained-categories Data.Traversable.Constrained traverse, restricted to endofunctors. May be more efficient to implement.
mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)copilot-language Copilot.Language.Prelude Map each element of a structure to a monadic action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see mapM_.
Examples
mapM is literally a traverse with a type signature restricted to Monad. Its implementation may be more efficient due to additional power of Monad.mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()copilot-language Copilot.Language.Prelude Map each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see mapM. mapM_ is just like traverse_, but specialised to monadic actions.
mappend :: Monoid a => a -> a -> acopilot-language Copilot.Language.Prelude An associative operation NOTE: This method is redundant and has the default implementation mappend = (<>) since base-4.11.0.0. Should it be implemented manually, since mappend is a synonym for (<>), it is expected that the two functions are defined the same way. In a future GHC release mappend will be removed from Monoid.
-
cursor-brick Cursor.Brick.Map No documentation available.
-
cursor-brick Cursor.Brick.Map No documentation available.
mapDiff :: Shift r => ADiff r -> Block r -> Maybe (Block r)diff-loc DiffLoc.Diff Translate a span in the source of a diff to a span in its target. Nothing if the span overlaps with a replacement. For exaple, given the following ADiff (or Replace) from "aAacCc" to "aAabbbcCc":
source aAa cCc - + bbb target aAabbbcCc
>>> r0 = Replace 3 (offset 0) (offset 3) :: Replace N >>> d0 = addDiff r0 emptyDiff
The span of "A" remains unchanged.>>> mapDiff d0 (1 :.. offset 1) Just (1 :.. offset 1) >>> shiftBlock r0 (1 :.. offset 1) Just (1 :.. offset 1) >>> comapDiff d0 (1 :.. offset 1) Just (1 :.. offset 1) >>> coshiftBlock r0 (1 :.. offset 1) Just (1 :.. offset 1)
The span of "C" is shifted by 3 characters.>>> mapDiff d0 (4 :.. offset 1) Just (7 :.. offset 1) >>> shiftBlock r0 (4 :.. offset 1) Just (7 :.. offset 1) >>> comapDiff d0 (7 :.. offset 1) Just (4 :.. offset 1) >>> coshiftBlock r0 (7 :.. offset 1) Just (4 :.. offset 1)
The span of "ac" overlaps with the replacement, so the mapping is undefined.>>> mapDiff d0 (2 :.. offset 2) Nothing >>> shiftBlock r0 (2 :.. offset 2) Nothing >>> comapDiff d0 (2 :.. offset 5) Nothing >>> coshiftBlock r0 (2 :.. offset 5) Nothing
Properties
\(FSN d s) -> not (isZeroLength s) ==> partialSemiInverse (mapDiff d) (comapDiff d) s
\(FSN d s) -> not (isZeroLength s) ==> partialSemiInverse (comapDiff d) (mapDiff d) s
where partialSemiInverse f g x is the propertyif f x == Just y -- for some y then g y == Just x
mapMG :: (ModSummary -> ModSummary) -> ModuleGraph -> ModuleGraphghc-lib GHC Map a function f over all the ModSummaries. To preserve invariants f can't change the isBoot status.
-
ghc-lib GHC.CmmToAsm.Reg.Liveness map a function across all the basic blocks in this code
-
ghc-lib GHC.CmmToAsm.Reg.Liveness map a function across all the basic blocks in this code (monadic version)