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.TH.Derivation.DeriveMergeable

Description

 
Synopsis

Documentation

deriveMergeable :: DeriveConfig -> Name -> Q [Dec] Source #

Derive Mergeable instance for GADT.

deriveMergeable1 :: DeriveConfig -> Name -> Q [Dec] Source #

Derive Mergeable1 instance for GADT.

deriveMergeable2 :: DeriveConfig -> Name -> Q [Dec] Source #

Derive Mergeable2 instance for GADT.

deriveMergeable3 :: DeriveConfig -> Name -> Q [Dec] Source #

Derive Mergeable3 instance for GADT.

genMergeableAndGetMergingInfoResult :: DeriveConfig -> Name -> Int -> Q (MergingInfoResult, [Dec]) Source #

Generate Mergeable instance and merging information for a data type.

genMergeable :: DeriveConfig -> Name -> Int -> Q [Dec] Source #

Generate Mergeable instance for a data type.

genMergeable' :: DeriveConfig -> MergingInfoResult -> Name -> Int -> Q (Name, [Dec]) Source #

Generate Mergeable instance for a data type, using a given merging info result.

genMergeableNoExistential :: DeriveConfig -> Name -> Int -> Q [Dec] Source #

Generate Mergeable instance for a data type without existential variables.

genMergeableNoStrategy :: DeriveConfig -> Name -> Int -> Q [Dec] Source #

Generate Mergeable instance for a data type, using NoStrategy.

genMergeableList :: DeriveConfig -> Name -> [Int] -> Q [Dec] Source #

Generate multiple Mergeable instances for a data type.