ghc-9.10.1: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Data.Unboxed

Synopsis

Documentation

data MaybeUB a :: TYPE ('SumRep '[ZeroBitRep, LiftedRep]) 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 #