Copyright | (c) Sirui Lu 2024 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | None |
Language | Haskell2010 |
Grisette.Internal.Unified.Class.UnifiedSafeBitCast
Description
Synopsis
- safeBitCast :: forall (mode :: EvalModeTag) e a b m. (MonadError e m, UnifiedSafeBitCast mode e a b m) => a -> m b
- class UnifiedSafeBitCast (mode :: EvalModeTag) e a b (m :: Type -> Type) where
- withBaseSafeBitCast :: (SafeBitCast e a b m => r) -> r
Documentation
safeBitCast :: forall (mode :: EvalModeTag) e a b m. (MonadError e m, UnifiedSafeBitCast mode e a b m) => a -> m b Source #
Unified safeSub
operation.
This function isn't able to infer the mode, so you need to provide the mode explicitly. For example:
safeSub @mode a b
class UnifiedSafeBitCast (mode :: EvalModeTag) e a b (m :: Type -> Type) where Source #
A class that provides unified safe bitcast operations.
We use this type class to help resolve the constraints for SafeBitCast
.
Methods
withBaseSafeBitCast :: (SafeBitCast e a b m => r) -> r Source #