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 HaskellSafe-Inferred
LanguageHaskell2010

Grisette.Internal.TH.GADT.BinaryOpCommon

Description

 
Synopsis

Documentation

data BinaryOpClassConfig Source #

Configuration for a binary operation type class generation on a GADT.

data BinaryOpFieldConfig Source #

Configuration for a binary operation field generation on a GADT.

type FieldFunExp = Map Name Name -> Type -> Q Exp Source #

Type of field function expression generator.

defaultFieldFunExp :: [Name] -> FieldFunExp Source #

Default field function expression generator.

genBinaryOpClause :: BinaryOpFieldConfig -> [(Type, Kind)] -> [(Type, Kind)] -> Bool -> ConstructorInfo -> ConstructorInfo -> Q [Clause] Source #

Generate a clause for a binary operation on a GADT.

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

Generate a type class instance for a binary operation on a GADT.