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

Grisette.Internal.Core.Data.Class.ToCon

Description

 
Synopsis

Converting to concrete values

class ToCon a b where Source #

Convert a symbolic value to concrete value if possible.

Methods

toCon :: a -> Maybe b Source #

Convert a symbolic value to concrete value if possible. If the symbolic value cannot be converted to concrete, the result will be Nothing.

>>> toCon (ssym "a" :: SymInteger) :: Maybe Integer
Nothing
>>> toCon (con 1 :: SymInteger) :: Maybe Integer
Just 1

toCon works on complex types too.

>>> toCon ([con 1, con 2] :: [SymInteger]) :: Maybe [Integer]
Just [1,2]
>>> toCon ([con 1, ssym "a"] :: [SymInteger]) :: Maybe [Integer]
Nothing

Instances

Instances details
ToCon ByteString ByteString Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon All All Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: All -> Maybe All Source #

ToCon Any Any Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Any -> Maybe Any Source #

ToCon Int16 Int16 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Int16 -> Maybe Int16 Source #

ToCon Int32 Int32 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Int32 -> Maybe Int32 Source #

ToCon Int64 Int64 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Int64 -> Maybe Int64 Source #

ToCon Int8 Int8 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Int8 -> Maybe Int8 Source #

ToCon Word16 Word16 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon Word32 Word32 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon Word64 Word64 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon Word8 Word8 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Word8 -> Maybe Word8 Source #

ToCon Ordering Ordering Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon AssertionError AssertionError Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon VerificationConditions VerificationConditions Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon FPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon NotRepresentableFPError NotRepresentableFPError Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SomeBVException SomeBVException Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SomeBV

ToCon SymAlgReal Rational Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymAlgReal AlgReal Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymAlgReal SymAlgReal Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymBool SymBool Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymBool Bool Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

ToCon SymFP32 Float Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymFP64 Double Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymFPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymFPRoundingMode SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymInteger SymInteger Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon SymInteger Integer Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon Text Text Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Text -> Maybe Text Source #

ToCon Integer Integer Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon () () Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: () -> Maybe () Source #

ToCon Bool Bool Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Bool -> Maybe Bool Source #

ToCon Char Char Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Char -> Maybe Char Source #

ToCon Double Double Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon Float Float Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Float -> Maybe Float Source #

ToCon Int Int Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Int -> Maybe Int Source #

ToCon Word Word Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Word -> Maybe Word Source #

ToCon v v Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

toCon :: v -> Maybe v Source #

(Generic a, Generic b, GToCon Arity0 (Rep a) (Rep b)) => ToCon a (Default b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

toCon :: a -> Maybe (Default b) Source #

ToCon a b => ToCon a (Identity b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: a -> Maybe (Identity b) Source #

ToCon a b => ToCon (Identity a) b Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Identity a -> Maybe b Source #

ToCon (Union AssertionError) AssertionError Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon (Union VerificationConditions) VerificationConditions Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon (Union NotRepresentableFPError) NotRepresentableFPError Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

ToCon (Union ()) () Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union () -> Maybe () Source #

ToCon (SymIntN 8) Int8 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN 8 -> Maybe Int8 Source #

ToCon (SymIntN 16) Int16 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN 16 -> Maybe Int16 Source #

ToCon (SymIntN 32) Int32 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN 32 -> Maybe Int32 Source #

ToCon (SymIntN 64) Int64 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN 64 -> Maybe Int64 Source #

ToCon (SymIntN 64) Int Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN 64 -> Maybe Int Source #

ToCon (SymWordN 8) Word8 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN 8 -> Maybe Word8 Source #

ToCon (SymWordN 16) Word16 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN 16 -> Maybe Word16 Source #

ToCon (SymWordN 32) Word32 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN 32 -> Maybe Word32 Source #

ToCon (SymWordN 64) Word64 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN 64 -> Maybe Word64 Source #

ToCon (SymWordN 64) Word Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN 64 -> Maybe Word Source #

ToCon a b => ToCon (Identity a) (Identity b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Identity a -> Maybe (Identity b) Source #

ToCon a1 a2 => ToCon (First a1) (First a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: First a1 -> Maybe (First a2) Source #

ToCon a1 a2 => ToCon (Last a1) (Last a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Last a1 -> Maybe (Last a2) Source #

ToCon a1 a2 => ToCon (Down a1) (Down a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Down a1 -> Maybe (Down a2) Source #

ToCon a1 a2 => ToCon (Dual a1) (Dual a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Dual a1 -> Maybe (Dual a2) Source #

ToCon a1 a2 => ToCon (Product a1) (Product a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Product a1 -> Maybe (Product a2) Source #

ToCon a1 a2 => ToCon (Sum a1) (Sum a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Sum a1 -> Maybe (Sum a2) Source #

ToCon p0 p => ToCon (Par1 p0) (Par1 p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Par1 p0 -> Maybe (Par1 p) Source #

(ToCon a b, Integral b) => ToCon (Ratio a) (Ratio b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Ratio a -> Maybe (Ratio b) Source #

ToCon a1 a2 => ToCon (Union (First a1)) (First a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (First a1) -> Maybe (First a2) Source #

ToCon a1 a2 => ToCon (Union (Last a1)) (Last a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Last a1) -> Maybe (Last a2) Source #

ToCon a1 a2 => ToCon (Union (Down a1)) (Down a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Down a1) -> Maybe (Down a2) Source #

ToCon a1 a2 => ToCon (Union (Dual a1)) (Dual a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Dual a1) -> Maybe (Dual a2) Source #

ToCon a1 a2 => ToCon (Union (Product a1)) (Product a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Product a1) -> Maybe (Product a2) Source #

ToCon a1 a2 => ToCon (Union (Sum a1)) (Sum a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Sum a1) -> Maybe (Sum a2) Source #

ToCon a1 a2 => ToCon (Union (Maybe a1)) (Maybe a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Maybe a1) -> Maybe (Maybe a2) Source #

ToCon a1 a2 => ToCon (Union [a1]) [a2] Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union [a1] -> Maybe [a2] Source #

ToCon a b => ToCon (Union a) (Identity b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Control.Monad.Union

Methods

toCon :: Union a -> Maybe (Identity b) Source #

ToCon a b => ToCon (Union a) (Union b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Control.Monad.Union

Methods

toCon :: Union a -> Maybe (Union b) Source #

(KnownNat n, 1 <= n) => ToCon (IntN n) (IntN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: IntN n -> Maybe (IntN n) Source #

(KnownNat n, 1 <= n) => ToCon (WordN n) (WordN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: WordN n -> Maybe (WordN n) Source #

(forall (n :: Nat). (KnownNat n, 1 <= n) => ToCon (sbv n) (cbv n)) => ToCon (SomeBV sbv) (SomeBV cbv) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SomeBV

Methods

toCon :: SomeBV sbv -> Maybe (SomeBV cbv) Source #

(KnownNat n, 1 <= n) => ToCon (SymIntN n) (IntN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN n -> Maybe (IntN n) Source #

ToCon (SymIntN n) (SymIntN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymIntN n -> Maybe (SymIntN n) Source #

(KnownNat n, 1 <= n) => ToCon (SymWordN n) (WordN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN n -> Maybe (WordN n) Source #

ToCon (SymWordN n) (SymWordN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymWordN n -> Maybe (SymWordN n) Source #

ToCon a1 a2 => ToCon (Maybe a1) (Maybe a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Maybe a1 -> Maybe (Maybe a2) Source #

ToCon a1 a2 => ToCon [a1] [a2] Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: [a1] -> Maybe [a2] Source #

(ToCon a1 a2, ToCon a3 a4) => ToCon (Union (Either a1 a3)) (Either a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (Either a1 a3) -> Maybe (Either a2 a4) Source #

(ToCon1 a1 a2, ToCon a3 a4) => ToCon (Union (MaybeT a1 a3)) (MaybeT a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (MaybeT a1 a3) -> Maybe (MaybeT a2 a4) Source #

(ToCon a1 a2, ToCon a3 a4) => ToCon (Union (a1, a3)) (a2, a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3) -> Maybe (a2, a4) Source #

(Generic1 f1, Generic1 f2, GToCon Arity1 (Rep1 f1) (Rep1 f2), ToCon a b) => ToCon (f1 a) (Default1 f2 b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

toCon :: f1 a -> Maybe (Default1 f2 b) Source #

(ToCon a1 a2, ToCon1 a3 a4, ToCon a5 a6) => ToCon (Union (ExceptT a1 a3 a5)) (ExceptT a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (ExceptT a1 a3 a5) -> Maybe (ExceptT a2 a4 a6) Source #

(ToCon a1 a2, ToCon1 a3 a4, ToCon a5 a6) => ToCon (Union (WriterT a1 a3 a5)) (WriterT a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (WriterT a1 a3 a5) -> Maybe (WriterT a2 a4 a6) Source #

(ToCon a1 a2, ToCon1 a3 a4, ToCon a5 a6) => ToCon (Union (WriterT a1 a3 a5)) (WriterT a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (WriterT a1 a3 a5) -> Maybe (WriterT a2 a4 a6) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6) => ToCon (Union (a1, a3, a5)) (a2, a4, a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5) -> Maybe (a2, a4, a6) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8) => ToCon (Union (a1, a3, a5, a7)) (a2, a4, a6, a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7) -> Maybe (a2, a4, a6, a8) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10) => ToCon (Union (a1, a3, a5, a7, a9)) (a2, a4, a6, a8, a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9) -> Maybe (a2, a4, a6, a8, a10) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11) -> Maybe (a2, a4, a6, a8, a10, a12) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13) -> Maybe (a2, a4, a6, a8, a10, a12, a14) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17)) (a2, a4, a6, a8, a10, a12, a14, a16, a18) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19)) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21)) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23)) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25)) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26, ToCon a27 a28) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27)) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26, ToCon a27 a28, ToCon a29 a30) => ToCon (Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27, a29)) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28, a30) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Union (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27, a29) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28, a30) Source #

(ToCon a1 a2, ToCon a3 a4) => ToCon (Either a1 a3) (Either a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Either a1 a3 -> Maybe (Either a2 a4) Source #

(ToCon e1 e2, ToCon a1 a2) => ToCon (Either e1 a1) (CBMCEither e2 a2) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

Methods

toCon :: Either e1 a1 -> Maybe (CBMCEither e2 a2) Source #

ToCon (U1 p0) (U1 p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: U1 p0 -> Maybe (U1 p) Source #

ToCon (V1 p0) (V1 p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: V1 p0 -> Maybe (V1 p) Source #

(ToCon e1 e2, ToCon a1 a2) => ToCon (CBMCEither e1 a1) (Either e2 a2) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

Methods

toCon :: CBMCEither e1 a1 -> Maybe (Either e2 a2) Source #

(ToCon e1 e2, ToCon a1 a2) => ToCon (CBMCEither e1 a1) (CBMCEither e2 a2) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

Methods

toCon :: CBMCEither e1 a1 -> Maybe (CBMCEither e2 a2) Source #

ValidFP eb sb => ToCon (FP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: FP eb sb -> Maybe (FP eb sb) Source #

ToCon (a --> b) (a --> b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a --> b) -> Maybe (a --> b) Source #

ValidFP eb sb => ToCon (SymFP eb sb) (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymFP eb sb -> Maybe (FP eb sb) Source #

ValidFP eb sb => ToCon (SymFP eb sb) (SymFP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: SymFP eb sb -> Maybe (SymFP eb sb) Source #

ToCon (a -~> b) (a -~> b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a -~> b) -> Maybe (a -~> b) Source #

(LinkedRep ca sa, LinkedRep cb sb) => ToCon (sa -~> sb) (ca --> cb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (sa -~> sb) -> Maybe (ca --> cb) Source #

ToCon (a =~> b) (a =~> b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a =~> b) -> Maybe (a =~> b) Source #

(LinkedRep ca sa, LinkedRep cb sb) => ToCon (sa =~> sb) (ca =-> cb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (sa =~> sb) -> Maybe (ca =-> cb) Source #

ToCon (a =-> b) (a =-> b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a =-> b) -> Maybe (a =-> b) Source #

(ToCon1 a1 a2, ToCon a3 a4) => ToCon (MaybeT a1 a3) (MaybeT a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: MaybeT a1 a3 -> Maybe (MaybeT a2 a4) Source #

(ToCon a1 a2, ToCon a3 a4) => ToCon (a1, a3) (a2, a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3) -> Maybe (a2, a4) Source #

ToCon (m1 (CBMCEither e1 a)) (Either e2 b) => ToCon (CBMCExceptT e1 m1 a) (Either e2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

Methods

toCon :: CBMCExceptT e1 m1 a -> Maybe (Either e2 b) Source #

ToCon (m1 (Either e1 a)) (Either e2 b) => ToCon (ExceptT e1 m1 a) (Either e2 b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: ExceptT e1 m1 a -> Maybe (Either e2 b) Source #

ToCon a0 a => ToCon (Const a0 b0) (Const a b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Const a0 b0 -> Maybe (Const a b) Source #

ToCon (f0 a0) (f a) => ToCon (Ap f0 a0) (Ap f a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Ap f0 a0 -> Maybe (Ap f a) Source #

ToCon (f0 a0) (f a) => ToCon (Alt f0 a0) (Alt f a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Alt f0 a0 -> Maybe (Alt f a) Source #

ToCon (f0 p0) (f p) => ToCon (Rec1 f0 p0) (Rec1 f p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Rec1 f0 p0 -> Maybe (Rec1 f p) Source #

(ToCon1 m1 m2, ToCon e1 e2, ToCon a b) => ToCon (CBMCExceptT e1 m1 a) (CBMCExceptT e2 m2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

Methods

toCon :: CBMCExceptT e1 m1 a -> Maybe (CBMCExceptT e2 m2 b) Source #

(ToCon a1 a2, ToCon1 a3 a4, ToCon a5 a6) => ToCon (ExceptT a1 a3 a5) (ExceptT a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: ExceptT a1 a3 a5 -> Maybe (ExceptT a2 a4 a6) Source #

(ToCon1 m m1, ToCon a b) => ToCon (IdentityT m a) (IdentityT m1 b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: IdentityT m a -> Maybe (IdentityT m1 b) Source #

(ToCon a1 a2, ToCon1 a3 a4, ToCon a5 a6) => ToCon (WriterT a1 a3 a5) (WriterT a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: WriterT a1 a3 a5 -> Maybe (WriterT a2 a4 a6) Source #

(ToCon a1 a2, ToCon1 a3 a4, ToCon a5 a6) => ToCon (WriterT a1 a3 a5) (WriterT a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: WriterT a1 a3 a5 -> Maybe (WriterT a2 a4 a6) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6) => ToCon (a1, a3, a5) (a2, a4, a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5) -> Maybe (a2, a4, a6) Source #

(ToCon (l0 a0) (l a), ToCon (r0 a0) (r a)) => ToCon (Product l0 r0 a0) (Product l r a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Product l0 r0 a0 -> Maybe (Product l r a) Source #

(ToCon (l0 a0) (l a), ToCon (r0 a0) (r a)) => ToCon (Sum l0 r0 a0) (Sum l r a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Sum l0 r0 a0 -> Maybe (Sum l r a) Source #

(ToCon (f0 p0) (f p), ToCon (g0 p0) (g p)) => ToCon ((f0 :*: g0) p0) ((f :*: g) p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (f0 :*: g0) p0 -> Maybe ((f :*: g) p) Source #

(ToCon (f0 p0) (f p), ToCon (g0 p0) (g p)) => ToCon ((f0 :+: g0) p0) ((f :+: g) p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (f0 :+: g0) p0 -> Maybe ((f :+: g) p) Source #

ToCon c0 c => ToCon (K1 i0 c0 p0) (K1 i c p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: K1 i0 c0 p0 -> Maybe (K1 i c p) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7) -> Maybe (a2, a4, a6, a8) Source #

ToCon (f0 (g0 a0)) (f (g a)) => ToCon (Compose f0 g0 a0) (Compose f g a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: Compose f0 g0 a0 -> Maybe (Compose f g a) Source #

ToCon (f0 (g0 p0)) (f (g p)) => ToCon ((f0 :.: g0) p0) ((f :.: g) p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (f0 :.: g0) p0 -> Maybe ((f :.: g) p) Source #

ToCon (f0 p0) (f p) => ToCon (M1 i0 c0 f0 p0) (M1 i c f p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: M1 i0 c0 f0 p0 -> Maybe (M1 i c f p) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9) -> Maybe (a2, a4, a6, a8, a10) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11) -> Maybe (a2, a4, a6, a8, a10, a12) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13) -> Maybe (a2, a4, a6, a8, a10, a12, a14) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17) (a2, a4, a6, a8, a10, a12, a14, a16, a18) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26, ToCon a27 a28) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26, ToCon a27 a28, ToCon a29 a30) => ToCon (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27, a29) (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28, a30) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

toCon :: (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27, a29) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28, a30) Source #

class (forall a b. ToCon a b => ToCon (f1 a) (f2 b)) => ToCon1 (f1 :: Type -> Type) (f2 :: Type -> Type) where Source #

Lifting of ToCon to unary type constructors.

Methods

liftToCon :: (a -> Maybe b) -> f1 a -> Maybe (f2 b) Source #

Lift a conversion to concrete function to unary type constructors.

Instances

Instances details
ToCon1 Identity Identity Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Identity a -> Maybe (Identity b) Source #

ToCon1 First First Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> First a -> Maybe (First b) Source #

ToCon1 Last Last Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Last a -> Maybe (Last b) Source #

ToCon1 Down Down Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Down a -> Maybe (Down b) Source #

ToCon1 Dual Dual Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Dual a -> Maybe (Dual b) Source #

ToCon1 Product Product Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Product a -> Maybe (Product b) Source #

ToCon1 Sum Sum Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Sum a -> Maybe (Sum b) Source #

ToCon1 Union Identity Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Control.Monad.Union

Methods

liftToCon :: (a -> Maybe b) -> Union a -> Maybe (Identity b) Source #

ToCon1 Union Union Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Control.Monad.Union

Methods

liftToCon :: (a -> Maybe b) -> Union a -> Maybe (Union b) Source #

ToCon1 Maybe Maybe Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Maybe a -> Maybe (Maybe b) Source #

ToCon1 [] [] Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> [a] -> Maybe [b] Source #

(Generic1 f1, Generic1 f2, GToCon Arity1 (Rep1 f1) (Rep1 f2)) => ToCon1 f1 (Default1 f2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> f1 a -> Maybe (Default1 f2 b) Source #

ToCon a1 a2 => ToCon1 (Either a1) (Either a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Either a1 a -> Maybe (Either a2 b) Source #

ToCon1 a1 a2 => ToCon1 (MaybeT a1) (MaybeT a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> MaybeT a1 a -> Maybe (MaybeT a2 b) Source #

ToCon a1 a2 => ToCon1 ((,) a1) ((,) a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a) -> Maybe (a2, b) Source #

ToCon a0 a => ToCon1 (Const a0 :: Type -> Type) (Const a :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a1 -> Maybe b) -> Const a0 a1 -> Maybe (Const a b) Source #

ToCon1 f0 f => ToCon1 (Ap f0) (Ap f) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Ap f0 a -> Maybe (Ap f b) Source #

ToCon1 f0 f => ToCon1 (Alt f0) (Alt f) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Alt f0 a -> Maybe (Alt f b) Source #

(ToCon a1 a2, ToCon1 a3 a4) => ToCon1 (ExceptT a1 a3) (ExceptT a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> ExceptT a1 a3 a -> Maybe (ExceptT a2 a4 b) Source #

ToCon1 m m1 => ToCon1 (IdentityT m) (IdentityT m1) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> IdentityT m a -> Maybe (IdentityT m1 b) Source #

(ToCon a1 a2, ToCon1 a3 a4) => ToCon1 (WriterT a1 a3) (WriterT a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> WriterT a1 a3 a -> Maybe (WriterT a2 a4 b) Source #

(ToCon a1 a2, ToCon1 a3 a4) => ToCon1 (WriterT a1 a3) (WriterT a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> WriterT a1 a3 a -> Maybe (WriterT a2 a4 b) Source #

(ToCon a1 a2, ToCon a3 a4) => ToCon1 ((,,) a1 a3) ((,,) a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a) -> Maybe (a2, a4, b) Source #

(ToCon1 l0 l, ToCon1 r0 r) => ToCon1 (Product l0 r0) (Product l r) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Product l0 r0 a -> Maybe (Product l r b) Source #

(ToCon1 l0 l, ToCon1 r0 r) => ToCon1 (Sum l0 r0) (Sum l r) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Sum l0 r0 a -> Maybe (Sum l r b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6) => ToCon1 ((,,,) a1 a3 a5) ((,,,) a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a) -> Maybe (a2, a4, a6, b) Source #

(ToCon1 f0 f, ToCon1 g0 g) => ToCon1 (Compose f0 g0) (Compose f g) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> Compose f0 g0 a -> Maybe (Compose f g b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8) => ToCon1 ((,,,,) a1 a3 a5 a7) ((,,,,) a2 a4 a6 a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a) -> Maybe (a2, a4, a6, a8, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10) => ToCon1 ((,,,,,) a1 a3 a5 a7 a9) ((,,,,,) a2 a4 a6 a8 a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a) -> Maybe (a2, a4, a6, a8, a10, b) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a) -> Maybe (a2, a4, a6, a8, a10, a12, b) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, b) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18) => ToCon1 ((,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17) ((,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20) => ToCon1 ((,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19) ((,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22) => ToCon1 ((,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21) ((,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24) => ToCon1 ((,,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21 a23) ((,,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22 a24) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26) => ToCon1 ((,,,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21 a23 a25) ((,,,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22 a24 a26) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, b) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26, ToCon a27 a28) => ToCon1 ((,,,,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21 a23 a25 a27) ((,,,,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22 a24 a26 a28) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon :: (a -> Maybe b) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a27, a) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, a28, b) Source #

toCon1 :: (ToCon1 f1 f2, ToCon a b) => f1 a -> Maybe (f2 b) Source #

Lift the standard toCon to unary type constructors.

class (forall a b. ToCon a b => ToCon1 (f1 a) (f2 b)) => ToCon2 (f1 :: Type -> Type -> Type) (f2 :: Type -> Type -> Type) where Source #

Lifting of ToCon to binary type constructors.

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> f1 a c -> Maybe (f2 b d) Source #

Lift conversion to concrete functions to binary type constructors.

Instances

Instances details
ToCon2 Either Either Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> Either a c -> Maybe (Either b d) Source #

ToCon2 (,) (,) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a, c) -> Maybe (b, d) Source #

ToCon a1 a2 => ToCon2 ((,,) a1) ((,,) a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a, c) -> Maybe (a2, b, d) Source #

(ToCon a1 a2, ToCon a3 a4) => ToCon2 ((,,,) a1 a3) ((,,,) a2 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a, c) -> Maybe (a2, a4, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6) => ToCon2 ((,,,,) a1 a3 a5) ((,,,,) a2 a4 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a, c) -> Maybe (a2, a4, a6, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8) => ToCon2 ((,,,,,) a1 a3 a5 a7) ((,,,,,) a2 a4 a6 a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a, c) -> Maybe (a2, a4, a6, a8, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10) => ToCon2 ((,,,,,,) a1 a3 a5 a7 a9) ((,,,,,,) a2 a4 a6 a8 a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a, c) -> Maybe (a2, a4, a6, a8, a10, b, d) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, b, d) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, b, d) Source #

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

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a15, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18) => ToCon2 ((,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17) ((,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20) => ToCon2 ((,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19) ((,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22) => ToCon2 ((,,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21) ((,,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24) => ToCon2 ((,,,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21 a23) ((,,,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22 a24) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, b, d) Source #

(ToCon a1 a2, ToCon a3 a4, ToCon a5 a6, ToCon a7 a8, ToCon a9 a10, ToCon a11 a12, ToCon a13 a14, ToCon a15 a16, ToCon a17 a18, ToCon a19 a20, ToCon a21 a22, ToCon a23 a24, ToCon a25 a26) => ToCon2 ((,,,,,,,,,,,,,,) a1 a3 a5 a7 a9 a11 a13 a15 a17 a19 a21 a23 a25) ((,,,,,,,,,,,,,,) a2 a4 a6 a8 a10 a12 a14 a16 a18 a20 a22 a24 a26) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ToCon

Methods

liftToCon2 :: (a -> Maybe b) -> (c -> Maybe d) -> (a1, a3, a5, a7, a9, a11, a13, a15, a17, a19, a21, a23, a25, a, c) -> Maybe (a2, a4, a6, a8, a10, a12, a14, a16, a18, a20, a22, a24, a26, b, d) Source #

toCon2 :: (ToCon2 f1 f2, ToCon a b, ToCon c d) => f1 a c -> Maybe (f2 b d) Source #

Lift the standard toCon to binary type constructors.

Generic ToCon

data family ToConArgs arity a b Source #

The arguments to the generic toCon function.

Instances

Instances details
data ToConArgs Arity0 _ _1 Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

newtype ToConArgs Arity1 a b Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

newtype ToConArgs Arity1 a b = ToConArgs1 (a -> Maybe b)

class GToCon arity (f1 :: Type -> Type) (f2 :: Type -> Type) where Source #

The class of types that can be generically converted to concrete values.

Methods

gtoCon :: ToConArgs arity a b -> f1 a -> Maybe (f2 b) Source #

Instances

Instances details
GToCon Arity1 Par1 Par1 Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs Arity1 a b -> Par1 a -> Maybe (Par1 b) Source #

GToCon arity (U1 :: Type -> Type) (U1 :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs arity a b -> U1 a -> Maybe (U1 b) Source #

GToCon arity (V1 :: Type -> Type) (V1 :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs arity a b -> V1 a -> Maybe (V1 b) Source #

ToCon1 f1 f2 => GToCon Arity1 (Rec1 f1) (Rec1 f2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs Arity1 a b -> Rec1 f1 a -> Maybe (Rec1 f2 b) Source #

(GToCon arity a b, GToCon arity c d) => GToCon arity (a :*: c) (b :*: d) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs arity a0 b0 -> (a :*: c) a0 -> Maybe ((b :*: d) b0) Source #

(GToCon arity a b, GToCon arity c d) => GToCon arity (a :+: c) (b :+: d) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs arity a0 b0 -> (a :+: c) a0 -> Maybe ((b :+: d) b0) Source #

ToCon a b => GToCon arity (K1 i a :: Type -> Type) (K1 i b :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs arity a0 b0 -> K1 i a a0 -> Maybe (K1 i b b0) Source #

(ToCon1 f1 f2, GToCon Arity1 g1 g2) => GToCon Arity1 (f1 :.: g1) (f2 :.: g2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs Arity1 a b -> (f1 :.: g1) a -> Maybe ((f2 :.: g2) b) Source #

GToCon arity a b => GToCon arity (M1 i c1 a) (M1 i c2 b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ToCon

Methods

gtoCon :: ToConArgs arity a0 b0 -> M1 i c1 a a0 -> Maybe (M1 i c2 b b0) Source #

genericToCon :: (Generic a, Generic b, GToCon Arity0 (Rep a) (Rep b)) => a -> Maybe b Source #

Generic toCon function.

genericLiftToCon :: (Generic1 f1, Generic1 f2, GToCon Arity1 (Rep1 f1) (Rep1 f2)) => (a -> Maybe b) -> f1 a -> Maybe (f2 b) Source #

Generic liftToCon function.