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.
fromMaybe :: a -> Maybe a -> acabal-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
-
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]
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]
readMaybe :: Read a => String -> Maybe acabal-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
derivePackedMaybeAnnotation :: DataReprAnn -> Q [Dec]clash-prelude Clash.Annotations.BitRepresentation.Deriving Derive a compactly represented version of Maybe a.
packedMaybeDerivator :: DataReprAnn -> Derivatorclash-prelude Clash.Annotations.BitRepresentation.Deriving No documentation available.
-
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]
-
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]
-
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]
-
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]