ghc-9.6.2: The GHC API
Safe HaskellSafe-Inferred




data MaybeUB a where Source #

Like Maybe, but using unboxed sums.

Use with care. Using a unboxed maybe is not always a win in execution *time* even when allocations go down. So make sure to benchmark for execution time as well. If the difference in *runtime* for the compiler is too small to measure it's likely better to use a regular Maybe instead.

This is since it causes more function arguments to be passed, and potentially more variables to be captured by closures increasing closure size.

Bundled Patterns

pattern JustUB :: a -> MaybeUB a 
pattern NothingUB :: MaybeUB a 

fmapMaybeUB :: (a -> b) -> MaybeUB a -> MaybeUB b Source #

fromMaybeUB :: a -> MaybeUB a -> a Source #

apMaybeUB :: MaybeUB (a -> b) -> MaybeUB a -> MaybeUB b Source #

maybeUB :: b -> (a -> b) -> MaybeUB a -> b Source #