Copyright | (c) Sirui Lu 2024 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Grisette.Internal.TH.GADT.UnaryOpCommon
Description
Synopsis
- data UnaryOpClassConfig = UnaryOpClassConfig {}
- data UnaryOpFieldConfig = UnaryOpFieldConfig {
- extraPatNames :: [String]
- fieldCombineFun :: Exp -> [Exp] -> Q Exp
- genUnaryOpClause :: [Name] -> UnaryOpFieldConfig -> [Name] -> ConstructorInfo -> Q Clause
- genUnaryOpClass :: UnaryOpClassConfig -> Int -> Name -> Q [Dec]
Documentation
data UnaryOpClassConfig Source #
Configuration for a unary operation type class generation on a GADT.
Constructors
UnaryOpClassConfig | |
Fields |
data UnaryOpFieldConfig Source #
Configuration for a unary function field expression generation on a GADT.
Constructors
UnaryOpFieldConfig | |
Fields
|
genUnaryOpClause :: [Name] -> UnaryOpFieldConfig -> [Name] -> ConstructorInfo -> Q Clause Source #
Generate a clause for a unary function on a GADT.
genUnaryOpClass :: UnaryOpClassConfig -> Int -> Name -> Q [Dec] Source #
Generate a unary operation type class instance for a GADT.