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.

  1. 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
    

  2. catchJust :: (HasCallStack, MonadCatch m, Exception e) => (e -> Maybe b) -> m a -> (b -> m a) -> m a

    safe-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.

  3. handleJust :: (HasCallStack, MonadCatch m, Exception e) => (e -> Maybe b) -> (b -> m a) -> m a -> m a

    safe-exceptions Control.Exception.Safe

    Flipped catchJust.

  4. 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.

  5. untilJust :: Monad m => m (Maybe a) -> IterT m a

    free 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
    

  6. promotedJustDataCon :: TyCon

    ghc GHC.Builtin.Types

    No documentation available.

  7. mapAdjust :: (v -> v) -> Label -> LabelMap v -> LabelMap v

    ghc GHC.Cmm.Dataflow.Label

    No documentation available.

  8. adjustEdgeWeight :: CFG -> (EdgeWeight -> EdgeWeight) -> BlockId -> BlockId -> CFG

    ghc GHC.CmmToAsm.CFG

    Adjust the weight between the blocks using the given function. If there is no such edge returns the original map.

  9. mkJustExpr :: Type -> CoreExpr -> CoreExpr

    ghc GHC.Core.Make

    Makes a Just from a value of the specified type

  10. adjustDTyConEnv :: (a -> a) -> DTyConEnv a -> TyCon -> DTyConEnv a

    ghc GHC.Core.TyCon.Env

    No documentation available.

Page 34 of many | Previous | Next