Hoogle Search
Within LTS Haskell 24.4 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
grisette Grisette.Experimental We cannot provide DerivingVia style derivation for GenSymSimpleConstrained, while you can use this simpleFreshConstrained implementation to implement GenSymSimpleConstrained fo your own types. This simpleFreshConstrained implementation is for the types that does not need any specification. It will generate product types by generating each fields with () as specification. It will not work on sum types. Note: Never use on recursive types.
-
grisette Grisette.Experimental We cannot provide DerivingVia style derivation for GenSymSimpleConstrained, while you can use this simpleFreshConstrained implementation to implement GenSymSimpleConstrained fo your own types. This simpleFreshConstrained implementation is for the types that can be generated with a reference value of the same type. For sum types, it will generate the result with the same data constructor. For product types, it will generate the result by generating each field with the corresponding reference value. Note: Can be used on recursive types.
-
grisette Grisette.Experimental.GenSymConstrained We cannot provide DerivingVia style derivation for GenSymConstrained, while you can use this freshConstrained implementation to implement GenSymConstrained for your own types. This freshConstrained implementation is for the types that does not need any specification. It will generate product types by generating each fields with () as specification, and generate all possible values for a sum type. Note: Never use on recursive types.
-
grisette Grisette.Experimental.GenSymConstrained We cannot provide DerivingVia style derivation for GenSymSimpleConstrained, while you can use this simpleFreshConstrained implementation to implement GenSymSimpleConstrained fo your own types. This simpleFreshConstrained implementation is for the types that does not need any specification. It will generate product types by generating each fields with () as specification. It will not work on sum types. Note: Never use on recursive types.
-
grisette Grisette.Experimental.GenSymConstrained We cannot provide DerivingVia style derivation for GenSymSimpleConstrained, while you can use this simpleFreshConstrained implementation to implement GenSymSimpleConstrained fo your own types. This simpleFreshConstrained implementation is for the types that can be generated with a reference value of the same type. For sum types, it will generate the result with the same data constructor. For product types, it will generate the result by generating each field with the corresponding reference value. Note: Can be used on recursive types.
-
grisette Grisette.Internal.Core.Data.Class.GenSym We cannot provide DerivingVia style derivation for GenSym, while you can use this fresh implementation to implement GenSym for your own types. This fresh implementation is for the types that does not need any specification. It will generate product types by generating each fields with () as specification, and generate all possible values for a sum type. Note: Never use on recursive types.
derivedNoSpecSimpleFresh :: (Generic a, GenSymSimpleNoSpec (Rep a), MonadFresh m) => () -> m agrisette Grisette.Internal.Core.Data.Class.GenSym We cannot provide DerivingVia style derivation for GenSymSimple, while you can use this simpleFresh implementation to implement GenSymSimple fo your own types. This simpleFresh implementation is for the types that does not need any specification. It will generate product types by generating each fields with () as specification. It will not work on sum types. Note: Never use on recursive types.
derivedSameShapeSimpleFresh :: (Generic a, GenSymSameShape (Rep a), MonadFresh m) => a -> m agrisette Grisette.Internal.Core.Data.Class.GenSym We cannot provide DerivingVia style derivation for GenSymSimple, while you can use this simpleFresh implementation to implement GenSymSimple fo your own types. This simpleFresh implementation is for the types that can be generated with a reference value of the same type. For sum types, it will generate the result with the same data constructor. For product types, it will generate the result by generating each field with the corresponding reference value. Note: Can be used on recursive types.
deriveWith :: DeriveConfig -> [Name] -> [Name] -> Q [Dec]grisette Grisette.Internal.TH.Derivation.Derive Derive the specified classes for a data type with the given name. Support the following classes for both vanilla data types and GADTs.
- Mergeable
- Mergeable1
- Mergeable2
- Mergeable3
- EvalSym
- EvalSym1
- EvalSym2
- ExtractSym
- ExtractSym1
- ExtractSym2
- SubstSym
- SubstSym1
- SubstSym2
- NFData
- NFData1
- NFData2
- Hashable (will fail to derive if the type contains any symbolic variables)
- Hashable1 (will fail to derive if the type contains any symbolic variables)
- Hashable2 (will fail to derive if the type contains any symbolic variables)
- Show
- Show1
- Show2
- PPrint
- PPrint1
- PPrint2
- AllSyms
- AllSyms1
- AllSyms2
- Eq
- Eq1
- Eq2
- Ord (will fail to derive if the type contains any symbolic variables)
- Ord1 (will fail to derive if the type contains any symbolic variables)
- Ord2 (will fail to derive if the type contains any symbolic variables)
- SymOrd
- SymOrd1
- SymOrd2
- SymEq
- SymEq1
- SymEq2
- UnifiedSymEq
- UnifiedSymEq1
- UnifiedSymEq2
- UnifiedSymOrd
- UnifiedSymOrd1
- UnifiedSymOrd2
- ToSym
- ToSym1
- ToSym2
- ToCon
- ToCon1
- ToCon2
- Serial
- Serial1
- Serial2
- SimpleMergeable
- SimpleMergeable1
- SimpleMergeable2
- Binary
- Serialize
deriveAllSyms :: DeriveConfig -> Name -> Q [Dec]grisette Grisette.Internal.TH.Derivation.DeriveAllSyms Derive AllSyms instance for a data type.