Safe Haskell | None |
---|---|
Language | GHC2021 |
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.
fmapMaybeUB :: (a -> b) -> MaybeUB a -> MaybeUB b Source #
fromMaybeUB :: a -> MaybeUB a -> a Source #