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 | Safe-Inferred |
Language | Haskell2010 |
Grisette.Unified.Internal.UnifiedData
Description
Synopsis
- type family GetData mode v = r | r -> mode v
- wrapData :: UnifiedDataImpl mode v u => v -> u
- extractData :: (UnifiedDataImpl mode v u, Monad m, UnifiedBranching mode m) => u -> m v
- class UnifiedDataImpl mode v (GetData mode v) => UnifiedData mode v
- class (forall v. Mergeable v => UnifiedData bool v, forall v. Mergeable v => UnifiedDataSimpleMergeable v) => AllUnifiedData bool
Documentation
extractData :: (UnifiedDataImpl mode v u, Monad m, UnifiedBranching mode m) => u -> m v Source #
Extracts a value from the unified data type.
class UnifiedDataImpl mode v (GetData mode v) => UnifiedData mode v Source #
This class is needed as constraint in user code prior to GHC 9.2.1.
See the notes in IsMode
.
Instances
UnifiedDataImpl bool v (GetData bool v) => UnifiedData bool v Source # | |
Defined in Grisette.Unified.Internal.UnifiedData |
class (forall v. Mergeable v => UnifiedData bool v, forall v. Mergeable v => UnifiedDataSimpleMergeable v) => AllUnifiedData bool Source #
Evaluation mode with unified data types.
Instances
(forall v. Mergeable v => UnifiedData bool v, forall v. Mergeable v => UnifiedDataSimpleMergeable v) => AllUnifiedData bool Source # | |
Defined in Grisette.Unified.Internal.UnifiedData |