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.UnifiedSymOrd

Description

 
Synopsis

Documentation

class UnifiedSymOrd mode a where Source #

A class that provides unified comparison.

We use this type class to help resolve the constraints for Ord and SymOrd.

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord a) (SymOrd a) => r) -> r Source #

Instances

Instances details
Typeable mode => UnifiedSymOrd mode Int16 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Int16) (SymOrd Int16) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Int32 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Int32) (SymOrd Int32) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Int64 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Int64) (SymOrd Int64) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Int8 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Int8) (SymOrd Int8) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Word16 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Word16) (SymOrd Word16) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Word32 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Word32) (SymOrd Word32) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Word64 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Word64) (SymOrd Word64) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Word8 Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Word8) (SymOrd Word8) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode ByteString Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord ByteString) (SymOrd ByteString) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode AssertionError Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Typeable mode => UnifiedSymOrd mode VerificationConditions Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Typeable mode => UnifiedSymOrd mode FPRoundingMode Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Typeable mode => UnifiedSymOrd mode Text Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Text) (SymOrd Text) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Integer Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Integer) (SymOrd Integer) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord ()) (SymOrd ()) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Bool Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Bool) (SymOrd Bool) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Char Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Char) (SymOrd Char) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Double Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Double) (SymOrd Double) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Float Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Float) (SymOrd Float) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Int Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Int) (SymOrd Int) => r) -> r Source #

Typeable mode => UnifiedSymOrd mode Word Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord Word) (SymOrd Word) => r) -> r Source #

(Typeable mode, If (IsConMode mode) (Ord a) (SymOrd a)) => UnifiedSymOrd mode a Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord a) (SymOrd a) => r) -> r Source #

UnifiedSymOrd 'Sym v => UnifiedSymOrd 'Sym (Union v) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode 'Sym) (Ord (Union v)) (SymOrd (Union v)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (Identity a)) (SymOrd (Identity a)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode a, Integral a) => UnifiedSymOrd mode (Ratio a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (Ratio a)) (SymOrd (Ratio a)) => r) -> r Source #

(Typeable mode, KnownNat n, 1 <= n) => UnifiedSymOrd mode (IntN n) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (IntN n)) (SymOrd (IntN n)) => r) -> r Source #

(Typeable mode, KnownNat n, 1 <= n) => UnifiedSymOrd mode (WordN n) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (WordN n)) (SymOrd (WordN n)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode a) => UnifiedSymOrd mode (Maybe a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (Maybe a)) (SymOrd (Maybe a)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode a) => UnifiedSymOrd mode [a] Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord [a]) (SymOrd [a]) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (Either a b)) (SymOrd (Either a b)) => r) -> r Source #

(Typeable mode, ValidFP eb sb) => UnifiedSymOrd mode (FP eb sb) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (FP eb sb)) (SymOrd (FP eb sb)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd1 mode m, UnifiedSymOrd mode a) => UnifiedSymOrd mode (MaybeT m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (MaybeT m a)) (SymOrd (MaybeT m a)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (a, b)) (SymOrd (a, b)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode e, UnifiedSymOrd1 mode m, UnifiedSymOrd mode a) => UnifiedSymOrd mode (ExceptT e m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (ExceptT e m a)) (SymOrd (ExceptT e m a)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd1 mode m, UnifiedSymOrd mode a) => UnifiedSymOrd mode (IdentityT m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (IdentityT m a)) (SymOrd (IdentityT m a)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode w, UnifiedSymOrd1 mode m, UnifiedSymOrd mode a) => UnifiedSymOrd mode (WriterT w m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (WriterT w m a)) (SymOrd (WriterT w m a)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode w, UnifiedSymOrd1 mode m, UnifiedSymOrd mode a) => UnifiedSymOrd mode (WriterT w m a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (WriterT w m a)) (SymOrd (WriterT w m a)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (a, b, c)) (SymOrd (a, b, c)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd1 mode f, UnifiedSymOrd1 mode g, UnifiedSymOrd mode a) => UnifiedSymOrd mode (Sum f g a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (Sum f g a)) (SymOrd (Sum f g a)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (a, b, c, d)) (SymOrd (a, b, c, d)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (a, b, c, d, e)) (SymOrd (a, b, c, d, e)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd :: (If (IsConMode mode) (Ord (a, b, c, d, e, f)) (SymOrd (a, b, c, d, e, f)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

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

(Typeable mode, UnifiedSymOrd mode a, UnifiedSymOrd mode b, UnifiedSymOrd mode c, UnifiedSymOrd mode d, UnifiedSymOrd mode e, UnifiedSymOrd mode f, UnifiedSymOrd mode g, UnifiedSymOrd mode h, UnifiedSymOrd mode i, UnifiedSymOrd mode j, UnifiedSymOrd mode k, UnifiedSymOrd mode l, UnifiedSymOrd mode m, UnifiedSymOrd mode n, UnifiedSymOrd mode o) => UnifiedSymOrd 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.UnifiedSymOrd

Methods

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

class UnifiedSymOrd1 mode f where Source #

A class that provides unified lifting of comparison.

We use this type class to help resolve the constraints for Ord1 and SymOrd1.

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 f) (SymOrd1 f) => r) -> r Source #

Instances

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 Identity) (SymOrd1 Identity) => r) -> r Source #

Typeable mode => UnifiedSymOrd1 mode Maybe Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 Maybe) (SymOrd1 Maybe) => r) -> r Source #

Typeable mode => UnifiedSymOrd1 mode List Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 List) (SymOrd1 List) => r) -> r Source #

(Typeable mode, If (IsConMode mode) (Ord1 f) (SymOrd1 f), forall a. UnifiedSymOrd mode a => UnifiedSymOrd mode (f a)) => UnifiedSymOrd1 mode f Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 f) (SymOrd1 f) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode a) => UnifiedSymOrd1 mode (Either a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (Either a)) (SymOrd1 (Either a)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (MaybeT m)) (SymOrd1 (MaybeT m)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode a) => UnifiedSymOrd1 mode ((,) a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 ((,) a)) (SymOrd1 ((,) a)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode e, UnifiedSymOrd1 mode m) => UnifiedSymOrd1 mode (ExceptT e m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (ExceptT e m)) (SymOrd1 (ExceptT e m)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (IdentityT m)) (SymOrd1 (IdentityT m)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode w, UnifiedSymOrd1 mode m) => UnifiedSymOrd1 mode (WriterT w m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (WriterT w m)) (SymOrd1 (WriterT w m)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode w, UnifiedSymOrd1 mode m) => UnifiedSymOrd1 mode (WriterT w m) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (WriterT w m)) (SymOrd1 (WriterT w m)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 ((,,) a b)) (SymOrd1 ((,,) a b)) => r) -> r Source #

(Typeable mode, UnifiedSymOrd1 mode f, UnifiedSymOrd1 mode g) => UnifiedSymOrd1 mode (Sum f g) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 (Sum f g)) (SymOrd1 (Sum f g)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd1 :: (If (IsConMode mode) (Ord1 ((,,,) a b c)) (SymOrd1 ((,,,) a b c)) => r) -> r Source #

class UnifiedSymOrd2 mode f where Source #

A class that provides unified lifting of comparison.

We use this type class to help resolve the constraints for Ord2 and SymOrd2.

Methods

withBaseSymOrd2 :: (If (IsConMode mode) (Ord2 f) (SymOrd2 f) => r) -> r Source #

Instances

Instances details
Typeable mode => UnifiedSymOrd2 mode Either Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd2 :: (If (IsConMode mode) (Ord2 Either) (SymOrd2 Either) => r) -> r Source #

Typeable mode => UnifiedSymOrd2 mode (,) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd2 :: (If (IsConMode mode) (Ord2 (,)) (SymOrd2 (,)) => r) -> r Source #

(Typeable mode, If (IsConMode mode) (Ord2 f) (SymOrd2 f), forall a. UnifiedSymOrd mode a => UnifiedSymOrd1 mode (f a)) => UnifiedSymOrd2 mode f Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd2 :: (If (IsConMode mode) (Ord2 f) (SymOrd2 f) => r) -> r Source #

(Typeable mode, UnifiedSymOrd mode a) => UnifiedSymOrd2 mode ((,,) a) Source # 
Instance details

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd2 :: (If (IsConMode mode) (Ord2 ((,,) a)) (SymOrd2 ((,,) a)) => r) -> r Source #

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

Defined in Grisette.Unified.Internal.Class.UnifiedSymOrd

Methods

withBaseSymOrd2 :: (If (IsConMode mode) (Ord2 ((,,,) a b)) (SymOrd2 ((,,,) a b)) => r) -> r Source #

(.<=) :: forall mode a. (Typeable mode, UnifiedSymOrd mode a) => a -> a -> GetBool mode Source #

Unified (.<=).

Note that you may sometimes need to write type annotations for the result when the mode isn't clear:

a .<= b :: GetBool mode

One example when it isn't clear is when this is used in unified mrgIf.

(.<) :: forall mode a. (Typeable mode, UnifiedSymOrd mode a) => a -> a -> GetBool mode Source #

Unified (.<).

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

Unified (.>=).

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

Unified (.>).

symCompare :: forall mode a ctx. (Typeable mode, UnifiedSymOrd mode a, Monad ctx) => a -> a -> BaseMonad mode Ordering Source #

Unified symCompare.

liftSymCompare :: forall mode f a b. (Typeable mode, UnifiedSymOrd1 mode f) => (a -> b -> BaseMonad mode Ordering) -> f a -> f b -> BaseMonad mode Ordering Source #

symCompare1 :: forall mode f a. (Typeable mode, UnifiedSymOrd mode a, UnifiedSymOrd1 mode f) => f a -> f a -> BaseMonad mode Ordering Source #

Unified symCompare1.

liftSymCompare2 :: forall mode f a b c d. (Typeable mode, UnifiedSymOrd2 mode f) => (a -> b -> BaseMonad mode Ordering) -> (c -> d -> BaseMonad mode Ordering) -> f a c -> f b d -> BaseMonad mode Ordering Source #

symCompare2 :: forall mode f a b. (Typeable mode, UnifiedSymOrd mode a, UnifiedSymOrd mode b, UnifiedSymOrd2 mode f) => f a b -> f a b -> BaseMonad mode Ordering Source #

Unified symCompare2.

symMax :: forall mode a. (UnifiedSymOrd mode a, UnifiedITEOp mode a, Typeable mode) => a -> a -> a Source #

Unified symMax.

symMin :: forall mode a. (UnifiedSymOrd mode a, UnifiedITEOp mode a, Typeable mode) => a -> a -> a Source #

Unified symMin.

mrgMax :: forall mode a m. (UnifiedSymOrd mode a, UnifiedBranching mode m, Typeable mode, Applicative m, Mergeable a) => a -> a -> m a Source #

Unified mrgMax.

mrgMin :: forall mode a m. (UnifiedSymOrd mode a, UnifiedBranching mode m, Typeable mode, Applicative m, Mergeable a) => a -> a -> m a Source #

Unified mrgMin.