grisette-0.9.0.0: Symbolic evaluation as a library
Copyright(c) Sirui Lu 2024
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellSafe-Inferred
LanguageHaskell2010

Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Description

 
Synopsis

Documentation

class Typeable mode => UnifiedBranching (mode :: EvalModeTag) m where Source #

A class that provides a unified branching operation.

We use this type class to help resolve the constraints for SymBranching.

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge m) (SymBranching m) => r) -> r Source #

Instances

Instances details
(Typeable mode, If (IsConMode mode) (TryMerge m) (SymBranching m)) => UnifiedBranching mode m Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge m) (SymBranching m) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedBranching mode (FreshT m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (FreshT m)) (SymBranching (FreshT m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedBranching mode (MaybeT m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (MaybeT m)) (SymBranching (MaybeT m)) => r) -> r Source #

(Typeable mode, Mergeable e, UnifiedBranching mode m) => UnifiedBranching mode (ExceptT e m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (ExceptT e m)) (SymBranching (ExceptT e m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedBranching mode (IdentityT m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (IdentityT m)) (SymBranching (IdentityT m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedBranching mode (ReaderT r m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (ReaderT r m)) (SymBranching (ReaderT r m)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s) => UnifiedBranching mode (StateT s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (StateT s m)) (SymBranching (StateT s m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s) => UnifiedBranching mode (StateT s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (StateT s m)) (SymBranching (StateT s m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Monoid w, Mergeable w) => UnifiedBranching mode (WriterT w m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (WriterT w m)) (SymBranching (WriterT w m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Monoid w, Mergeable w) => UnifiedBranching mode (WriterT w m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (WriterT w m)) (SymBranching (WriterT w m)) => r) -> r Source #

(Typeable mode, Mergeable r, UnifiedBranching mode m) => UnifiedBranching mode (ContT r m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (ContT r m)) (SymBranching (ContT r m)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s, Monoid w, Mergeable w) => UnifiedBranching mode (RWST r w s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (RWST r w s m)) (SymBranching (RWST r w s m)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s, Monoid w, Mergeable w) => UnifiedBranching mode (RWST r w s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseBranching :: (If (IsConMode mode) (TryMerge (RWST r w s m)) (SymBranching (RWST r w s m)) => r0) -> r0 Source #

class UnifiedSimpleMergeable mode a where Source #

A class that provides a unified simple merging.

We use this type class to help resolve the constraints for SimpleMergeable.

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) (() :: Constraint) (SimpleMergeable a) => r) -> r Source #

Instances

Instances details
Typeable mode => UnifiedSimpleMergeable mode AssertionError Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Typeable mode => UnifiedSimpleMergeable mode () Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable ()) => r) -> r Source #

(Typeable mode, If (IsConMode mode) () (SimpleMergeable m)) => UnifiedSimpleMergeable mode m Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable m) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a) => UnifiedSimpleMergeable mode (Identity a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (Identity a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable a) => UnifiedSimpleMergeable mode (FreshT m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (FreshT m a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable a) => UnifiedSimpleMergeable mode (MaybeT m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (MaybeT m a)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b) => UnifiedSimpleMergeable mode (a, b) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode b) => UnifiedSimpleMergeable mode (a -> b) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a -> b)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable e, Mergeable a) => UnifiedSimpleMergeable mode (ExceptT e m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (ExceptT e m a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable a) => UnifiedSimpleMergeable mode (IdentityT m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (IdentityT m a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable a) => UnifiedSimpleMergeable mode (ReaderT r m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (ReaderT r m a)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s, Mergeable a) => UnifiedSimpleMergeable mode (StateT s m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (StateT s m a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s, Mergeable a) => UnifiedSimpleMergeable mode (StateT s m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (StateT s m a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Mergeable a, Monoid w) => UnifiedSimpleMergeable mode (WriterT w m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (WriterT w m a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Mergeable a, Monoid w) => UnifiedSimpleMergeable mode (WriterT w m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (WriterT w m a)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c) => UnifiedSimpleMergeable mode (a, b, c) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable r, Mergeable a) => UnifiedSimpleMergeable mode (ContT r m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (ContT r m a)) => r0) -> r0 Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d) => UnifiedSimpleMergeable mode (a, b, c, d) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Monoid w, Mergeable s, Mergeable a) => UnifiedSimpleMergeable mode (RWST r w s m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (RWST r w s m a)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Monoid w, Mergeable s, Mergeable a) => UnifiedSimpleMergeable mode (RWST r w s m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (RWST r w s m a)) => r0) -> r0 Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e) => UnifiedSimpleMergeable mode (a, b, c, d, e) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f) => UnifiedSimpleMergeable mode (a, b, c, d, e, f) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i, j)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i, j, k)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i, j, k, l)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l, UnifiedSimpleMergeable mode m) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i, j, k, l, m)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l, UnifiedSimpleMergeable mode m, UnifiedSimpleMergeable mode n) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i, j, k, l, m, n)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l, UnifiedSimpleMergeable mode m, UnifiedSimpleMergeable mode n, UnifiedSimpleMergeable mode o) => UnifiedSimpleMergeable mode (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)) => r) -> r Source #

class UnifiedSimpleMergeable1 mode f where Source #

A class that provides lifting of unified simple merging.

We use this type class to help resolve the constraints for SimpleMergeable1.

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) (() :: Constraint) (SimpleMergeable1 f) => r) -> r Source #

Instances

Instances details
Typeable mode => UnifiedSimpleMergeable1 mode Identity Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

(Typeable mode, If (IsConMode mode) () (SimpleMergeable1 m)) => UnifiedSimpleMergeable1 mode m Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 m) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedSimpleMergeable1 mode (FreshT m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (FreshT m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedSimpleMergeable1 mode (MaybeT m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (MaybeT m)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a) => UnifiedSimpleMergeable1 mode ((,) a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,) a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable e) => UnifiedSimpleMergeable1 mode (ExceptT e m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (ExceptT e m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m) => UnifiedSimpleMergeable1 mode (IdentityT m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

(Typeable mode, UnifiedBranching mode m) => UnifiedSimpleMergeable1 mode (ReaderT r m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (ReaderT r m)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s) => UnifiedSimpleMergeable1 mode (StateT s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (StateT s m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable s) => UnifiedSimpleMergeable1 mode (StateT s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (StateT s m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Monoid w) => UnifiedSimpleMergeable1 mode (WriterT w m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (WriterT w m)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Monoid w) => UnifiedSimpleMergeable1 mode (WriterT w m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (WriterT w m)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b) => UnifiedSimpleMergeable1 mode ((,,) a b) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,) a b)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable r) => UnifiedSimpleMergeable1 mode (ContT r m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (ContT r m)) => r0) -> r0 Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c) => UnifiedSimpleMergeable1 mode ((,,,) a b c) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,) a b c)) => r) -> r Source #

Typeable mode => UnifiedSimpleMergeable1 mode ((->) a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((->) a)) => r) -> r Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Monoid w, Mergeable s) => UnifiedSimpleMergeable1 mode (RWST r w s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (RWST r w s m)) => r0) -> r0 Source #

(Typeable mode, UnifiedBranching mode m, Mergeable w, Monoid w, Mergeable s) => UnifiedSimpleMergeable1 mode (RWST r w s m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 (RWST r w s m)) => r0) -> r0 Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d) => UnifiedSimpleMergeable1 mode ((,,,,) a b c d) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,) a b c d)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e) => UnifiedSimpleMergeable1 mode ((,,,,,) a b c d e) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,) a b c d e)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f) => UnifiedSimpleMergeable1 mode ((,,,,,,) a b c d e f) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,) a b c d e f)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g) => UnifiedSimpleMergeable1 mode ((,,,,,,,) a b c d e f g) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,) a b c d e f g)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h) => UnifiedSimpleMergeable1 mode ((,,,,,,,,) a b c d e f g h) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,) a b c d e f g h)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,) a b c d e f g h i) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,) a b c d e f g h i)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,) a b c d e f g h i j) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,) a b c d e f g h i j)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,) a b c d e f g h i j k) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,) a b c d e f g h i j k)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,,) a b c d e f g h i j k l) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,,) a b c d e f g h i j k l)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l, UnifiedSimpleMergeable mode m) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,,,) a b c d e f g h i j k l m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,,,) a b c d e f g h i j k l m)) => r) -> r Source #

(Typeable mode, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b, UnifiedSimpleMergeable mode c, UnifiedSimpleMergeable mode d, UnifiedSimpleMergeable mode e, UnifiedSimpleMergeable mode f, UnifiedSimpleMergeable mode g, UnifiedSimpleMergeable mode h, UnifiedSimpleMergeable mode i, UnifiedSimpleMergeable mode j, UnifiedSimpleMergeable mode k, UnifiedSimpleMergeable mode l, UnifiedSimpleMergeable mode m, UnifiedSimpleMergeable mode n) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,,,,) a b c d e f g h i j k l m n)) => r) -> r Source #

class UnifiedSimpleMergeable2 mode f where Source #

A class that provides lifting of unified simple merging.

We use this type class to help resolve the constraints for SimpleMergeable2.

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) (() :: Constraint) (SimpleMergeable2 f) => r) -> r Source #

mrgIf :: forall mode a m. (Typeable mode, Mergeable a, UnifiedBranching mode m) => GetBool mode -> m a -> m a -> m a Source #

Unified mrgIf.

This function isn't able to infer the mode of the boolean variable, so you need to provide the mode explicitly. For example:

mrgIf @mode (a .== b) ...
mrgIf (a .== b :: SymBool) ...
mrgIf (a .== b :: GetBool mode) ...

liftBaseMonad :: forall mode a m. (Applicative m, UnifiedBranching mode m, Mergeable a) => BaseMonad mode a -> m a Source #

Unified lifting of a base monad.

mrgIte :: forall mode a. (Typeable mode, UnifiedSimpleMergeable mode a) => GetBool mode -> a -> a -> a Source #

Unified mrgIte.

mrgIte1 :: forall mode f a. (Typeable mode, UnifiedSimpleMergeable1 mode f, UnifiedSimpleMergeable mode a) => GetBool mode -> f a -> f a -> f a Source #

Unified mrgIte1.

liftMrgIte :: forall mode f a. (Typeable mode, UnifiedSimpleMergeable1 mode f) => (GetBool mode -> a -> a -> a) -> GetBool mode -> f a -> f a -> f a Source #

Unified liftMrgIte.

mrgIte2 :: forall mode f a b. (Typeable mode, UnifiedSimpleMergeable2 mode f, UnifiedSimpleMergeable mode a, UnifiedSimpleMergeable mode b) => GetBool mode -> f a b -> f a b -> f a b Source #

Unified mrgIte2.

liftMrgIte2 :: forall mode f a b. (Typeable mode, UnifiedSimpleMergeable2 mode f) => (GetBool mode -> a -> a -> a) -> (GetBool mode -> b -> b -> b) -> GetBool mode -> f a b -> f a b -> f a b Source #

Unified liftMrgIte2.

simpleMerge :: forall mode a. (Typeable mode, UnifiedSimpleMergeable mode a) => BaseMonad mode a -> a Source #

Unified merge of simply mergeable values in the base monad.