grisette-0.11.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 HaskellNone
LanguageHaskell2010

Grisette.Internal.Unified.Class.UnifiedSimpleMergeable

Description

 
Synopsis

Documentation

class (DecideEvalMode mode, TryMerge m) => UnifiedBranching (mode :: EvalModeTag) (m :: Type -> Type) 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
(DecideEvalMode mode, TryMerge m, If (IsConMode mode) (TryMerge m) (SymBranching m)) => UnifiedBranching mode m Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

class Mergeable a => UnifiedSimpleMergeable (mode :: EvalModeTag) 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) () (SimpleMergeable a) => r) -> r Source #

Instances

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2) => UnifiedSimpleMergeable mode (a1, a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3) => UnifiedSimpleMergeable mode (a1, a2, a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3)) => r) -> r Source #

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4) => UnifiedSimpleMergeable mode (a1, a2, a3, a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4)) => r) -> r Source #

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12, UnifiedSimpleMergeable mode a13) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12, UnifiedSimpleMergeable mode a13, UnifiedSimpleMergeable mode a14) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12, UnifiedSimpleMergeable mode a13, UnifiedSimpleMergeable mode a14, UnifiedSimpleMergeable mode a15) => UnifiedSimpleMergeable mode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable :: (If (IsConMode mode) () (SimpleMergeable (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)) => r) -> r Source #

class UnifiedSimpleMergeable1 (mode :: EvalModeTag) (f :: Type -> Type) 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) () (SimpleMergeable1 f) => r) -> r Source #

Instances

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2) => UnifiedSimpleMergeable1 mode ((,,) a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3) => UnifiedSimpleMergeable1 mode ((,,,) a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,) a1 a2 a3)) => r) -> r Source #

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

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

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4) => UnifiedSimpleMergeable1 mode ((,,,,) a1 a2 a3 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,) a1 a2 a3 a4)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5) => UnifiedSimpleMergeable1 mode ((,,,,,) a1 a2 a3 a4 a5) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,) a1 a2 a3 a4 a5)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6) => UnifiedSimpleMergeable1 mode ((,,,,,,) a1 a2 a3 a4 a5 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,) a1 a2 a3 a4 a5 a6)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7) => UnifiedSimpleMergeable1 mode ((,,,,,,,) a1 a2 a3 a4 a5 a6 a7) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,) a1 a2 a3 a4 a5 a6 a7)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8) => UnifiedSimpleMergeable1 mode ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12, UnifiedSimpleMergeable mode a13) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12, UnifiedSimpleMergeable mode a13, UnifiedSimpleMergeable mode a14) => UnifiedSimpleMergeable1 mode ((,,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable1 :: (If (IsConMode mode) () (SimpleMergeable1 ((,,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14)) => r) -> r Source #

class UnifiedSimpleMergeable2 (mode :: EvalModeTag) (f :: Type -> Type -> Type) 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) () (SimpleMergeable2 f) => r) -> r Source #

Instances

Instances details
DecideEvalMode mode => UnifiedSimpleMergeable2 mode (,) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

(DecideEvalMode mode, If (IsConMode mode) () (SimpleMergeable2 m)) => UnifiedSimpleMergeable2 mode m Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a) => UnifiedSimpleMergeable2 mode ((,,) a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,) a)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2) => UnifiedSimpleMergeable2 mode ((,,,) a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,) a1 a2)) => r) -> r Source #

DecideEvalMode mode => UnifiedSimpleMergeable2 mode (->) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

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

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3) => UnifiedSimpleMergeable2 mode ((,,,,) a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,) a1 a2 a3)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4) => UnifiedSimpleMergeable2 mode ((,,,,,) a1 a2 a3 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,) a1 a2 a3 a4)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5) => UnifiedSimpleMergeable2 mode ((,,,,,,) a1 a2 a3 a4 a5) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,) a1 a2 a3 a4 a5)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6) => UnifiedSimpleMergeable2 mode ((,,,,,,,) a1 a2 a3 a4 a5 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,) a1 a2 a3 a4 a5 a6)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7) => UnifiedSimpleMergeable2 mode ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8) => UnifiedSimpleMergeable2 mode ((,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9) => UnifiedSimpleMergeable2 mode ((,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10) => UnifiedSimpleMergeable2 mode ((,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11) => UnifiedSimpleMergeable2 mode ((,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12) => UnifiedSimpleMergeable2 mode ((,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12)) => r) -> r Source #

(DecideEvalMode mode, UnifiedSimpleMergeable mode a1, UnifiedSimpleMergeable mode a2, UnifiedSimpleMergeable mode a3, UnifiedSimpleMergeable mode a4, UnifiedSimpleMergeable mode a5, UnifiedSimpleMergeable mode a6, UnifiedSimpleMergeable mode a7, UnifiedSimpleMergeable mode a8, UnifiedSimpleMergeable mode a9, UnifiedSimpleMergeable mode a10, UnifiedSimpleMergeable mode a11, UnifiedSimpleMergeable mode a12, UnifiedSimpleMergeable mode a13) => UnifiedSimpleMergeable2 mode ((,,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Unified.Class.UnifiedSimpleMergeable

Methods

withBaseSimpleMergeable2 :: (If (IsConMode mode) () (SimpleMergeable2 ((,,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13)) => r) -> r Source #

mrgIf :: forall (mode :: EvalModeTag) a m. (DecideEvalMode 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 :: EvalModeTag) a m. (Applicative m, UnifiedBranching mode m, Mergeable a) => BaseMonad mode a -> m a Source #

Unified lifting of a base monad.

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

Unified mrgIte.

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

Unified mrgIte1.

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

Unified liftMrgIte.

mrgIte2 :: forall (mode :: EvalModeTag) f a b. (DecideEvalMode 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 :: EvalModeTag) f a b. (DecideEvalMode 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 :: EvalModeTag) a. (DecideEvalMode mode, UnifiedSimpleMergeable mode a) => BaseMonad mode a -> a Source #

Unified merge of simply mergeable values in the base monad.