Hoogle Search

Within LTS Haskell 24.38 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. fromMaybe :: a -> Maybe a -> a

    cabal-install-solver Distribution.Solver.Compat.Prelude

    The fromMaybe function takes a default value and a Maybe value. If the Maybe is Nothing, it returns the default value; otherwise, it returns the value contained in the Maybe.

    Examples

    Basic usage:
    >>> fromMaybe "" (Just "Hello, World!")
    "Hello, World!"
    
    >>> fromMaybe "" Nothing
    ""
    
    Read an integer from a string using readMaybe. If we fail to parse an integer, we want to return 0 by default:
    >>> import GHC.Internal.Text.Read ( readMaybe )
    
    >>> fromMaybe 0 (readMaybe "5")
    5
    
    >>> fromMaybe 0 (readMaybe "")
    0
    

  2. listToMaybe :: [a] -> Maybe a

    cabal-install-solver Distribution.Solver.Compat.Prelude

    The listToMaybe function returns Nothing on an empty list or Just a where a is the first element of the list.

    Examples

    Basic usage:
    >>> listToMaybe []
    Nothing
    
    >>> listToMaybe [9]
    Just 9
    
    >>> listToMaybe [1,2,3]
    Just 1
    
    Composing maybeToList with listToMaybe should be the identity on singleton/empty lists:
    >>> maybeToList $ listToMaybe [5]
    [5]
    
    >>> maybeToList $ listToMaybe []
    []
    
    But not on lists with more than one element:
    >>> maybeToList $ listToMaybe [1,2,3]
    [1]
    

  3. mapMaybe :: (a -> Maybe b) -> [a] -> [b]

    cabal-install-solver Distribution.Solver.Compat.Prelude

    The mapMaybe function is a version of map which can throw out elements. In particular, the functional argument returns something of type Maybe b. If this is Nothing, no element is added on to the result list. If it is Just b, then b is included in the result list.

    Examples

    Using mapMaybe f x is a shortcut for catMaybes $ map f x in most cases:
    >>> import GHC.Internal.Text.Read ( readMaybe )
    
    >>> let readMaybeInt = readMaybe :: String -> Maybe Int
    
    >>> mapMaybe readMaybeInt ["1", "Foo", "3"]
    [1,3]
    
    >>> catMaybes $ map readMaybeInt ["1", "Foo", "3"]
    [1,3]
    
    If we map the Just constructor, the entire list should be returned:
    >>> mapMaybe Just [1,2,3]
    [1,2,3]
    

  4. readMaybe :: Read a => String -> Maybe a

    cabal-install-solver Distribution.Solver.Compat.Prelude

    Parse a string using the Read instance. Succeeds if there is exactly one valid result.

    >>> readMaybe "123" :: Maybe Int
    Just 123
    
    >>> readMaybe "hello" :: Maybe Int
    Nothing
    

  5. derivePackedMaybeAnnotation :: DataReprAnn -> Q [Dec]

    clash-prelude Clash.Annotations.BitRepresentation.Deriving

    Derive a compactly represented version of Maybe a.

  6. packedMaybeDerivator :: DataReprAnn -> Derivator

    clash-prelude Clash.Annotations.BitRepresentation.Deriving

    No documentation available.

  7. delayMaybe :: forall (dom :: Domain) a . (KnownDomain dom, NFDataX a) => Clock dom -> Enable dom -> a -> Signal dom (Maybe a) -> Signal dom a

    clash-prelude Clash.Explicit.Signal

    Version of delay that only updates when its third argument is a Just value.

    >>> let input = fromList [Just 1, Just 2, Nothing, Nothing, Just 5, Just 6, Just (7::Int)]
    
    >>> sampleN 7 (delayMaybe systemClockGen enableGen 0 input)
    [0,1,2,2,2,5,6]
    

  8. regMaybe :: forall (dom :: Domain) a . (KnownDomain dom, NFDataX a) => Clock dom -> Reset dom -> Enable dom -> a -> Signal dom (Maybe a) -> Signal dom a

    clash-prelude Clash.Explicit.Signal

    Version of register that only updates its content when its fourth argument is a Just value. So given:

    sometimes1 clk rst en = s where
    s = register clk rst en Nothing (switch <$> s)
    
    switch Nothing = Just 1
    switch _       = Nothing
    
    countSometimes clk rst en = s where
    s     = regMaybe clk rst en 0 (plusM (pure <$> s) (sometimes1 clk rst en))
    plusM = liftA2 (liftA2 (+))
    
    We get:
    >>> sampleN 9 (sometimes1 systemClockGen resetGen enableGen)
    [Nothing,Nothing,Just 1,Nothing,Just 1,Nothing,Just 1,Nothing,Just 1]
    
    >>> sampleN 9 (count systemClockGen resetGen enableGen)
    [0,0,0,1,1,2,2,3,3]
    

  9. delayMaybe :: forall (dom :: Domain) a . (NFDataX a, HiddenClock dom, HiddenEnable dom) => a -> Signal dom (Maybe a) -> Signal dom a

    clash-prelude Clash.Prelude

    Version of delay that only updates when its second argument is a Just value.

    >>> let input = fromList [Just 1, Just 2, Nothing, Nothing, Just 5, Just 6, Just (7::Int)]
    
    >>> sampleN @System 7 (delayMaybe 0 input)
    [0,1,2,2,2,5,6]
    

  10. regMaybe :: forall (dom :: Domain) a . (HiddenClockResetEnable dom, NFDataX a) => a -> Signal dom (Maybe a) -> Signal dom a

    clash-prelude Clash.Prelude

    Version of register that only updates its content when its second argument is a Just value. So given:

    sometimes1 = s where
    s = register Nothing (switch <$> s)
    
    switch Nothing = Just 1
    switch _       = Nothing
    
    countSometimes = s where
    s     = regMaybe 0 (plusM (pure <$> s) sometimes1)
    plusM = liftA2 (liftA2 (+))
    
    We get:
    >>> sampleN @System 9 sometimes1
    [Nothing,Nothing,Just 1,Nothing,Just 1,Nothing,Just 1,Nothing,Just 1]
    
    >>> sampleN @System 9 countSometimes
    [0,0,0,1,1,2,2,3,3]
    

Page 239 of many | Previous | Next