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.
takeWhileJust :: [Maybe a] -> [a]utility-ht Data.List.HT This is the cousin of takeWhile analogously to catMaybes being the cousin of filter.
>>> takeWhileJust [Just 'a', Just 'b', Nothing, Just 'c'] "ab"
Example: Keep the heads of sublists until an empty list occurs.>>> takeWhileJust $ map (fmap fst . viewL) ["abc","def","","xyz"] "ad"
For consistency with takeWhile, partitionMaybe and dropWhileNothing it should have been:takeWhileJust_ :: (a -> Maybe b) -> a -> [b]
However, both variants are interchangeable:takeWhileJust_ f == takeWhileJust . map f takeWhileJust == takeWhileJust_ id
catchJust :: (HasCallStack, MonadCatch m, Exception e) => (e -> Maybe b) -> m a -> (b -> m a) -> m asafe-exceptions Control.Exception.Safe catchJust is like catch but it takes an extra argument which is an exception predicate, a function which selects which type of exceptions we're interested in.
-
safe-exceptions Control.Exception.Safe Flipped catchJust.
tryJust :: (HasCallStack, MonadCatch m, Exception e) => (e -> Maybe b) -> m a -> m (Either b a)safe-exceptions Control.Exception.Safe A variant of try that takes an exception predicate to select which exceptions are caught.
untilJust :: Monad m => m (Maybe a) -> IterT m afree Control.Monad.Trans.Iter Repeatedly run a computation until it produces a Just value. This can be useful when paired with a monad that has side effects. For example, we may have genId :: IO (Maybe Id) that uses a random number generator to allocate ids, but fails if it finds a collision. We can repeatedly run this with
retract (untilJust genId) :: IO Id
-
ghc GHC.Builtin.Types No documentation available.
mapAdjust :: (v -> v) -> Label -> LabelMap v -> LabelMap vghc GHC.Cmm.Dataflow.Label No documentation available.
adjustEdgeWeight :: CFG -> (EdgeWeight -> EdgeWeight) -> BlockId -> BlockId -> CFGghc GHC.CmmToAsm.CFG Adjust the weight between the blocks using the given function. If there is no such edge returns the original map.
mkJustExpr :: Type -> CoreExpr -> CoreExprghc GHC.Core.Make Makes a Just from a value of the specified type
adjustDTyConEnv :: (a -> a) -> DTyConEnv a -> TyCon -> DTyConEnv aghc GHC.Core.TyCon.Env No documentation available.