Copyright | (c) Sirui Lu 2025 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | None |
Language | Haskell2010 |
Grisette.Internal.TH.ADT
Description
Synopsis
- makeGrisetteBasicADT :: Name -> Q [Dec]
- makeGrisetteBasicADT1 :: Name -> Q [Dec]
- makeGrisetteBasicADT2 :: Name -> Q [Dec]
- makeGrisetteADT :: Name -> Q [Dec]
- makeGrisetteADT1 :: Name -> Q [Dec]
- makeGrisetteADT2 :: Name -> Q [Dec]
Documentation
makeGrisetteBasicADT :: Name -> Q [Dec] Source #
Make an ADT compatible with Grisette.
This will generate most useful instances for the ADT, and smart constructors for each constructor.
This does not include Ord
instances.
See derive
, basicClasses0
, and makeSmartCtor
for more details.
makeGrisetteBasicADT1 :: Name -> Q [Dec] Source #
Make an ADT compatible with Grisette.
This will generate most useful instances for the ADT, and smart constructors for each constructor.
This does not include Ord
instances.
See derive
, basicClasses01
, and makeSmartCtor
for more details.
makeGrisetteBasicADT2 :: Name -> Q [Dec] Source #
Make an ADT compatible with Grisette.
This will generate most useful instances for the ADT, and smart constructors for each constructor.
This does not include Ord
instances.
See derive
, basicClasses012
, and makeSmartCtor
for more details.
makeGrisetteADT :: Name -> Q [Dec] Source #
Make an ADT compatible with Grisette.
This will generate almost all useful instances for the ADT, and smart constructors for each constructor.
This cannot be used for ADTs with existential type variables.
See derive
, allClasses0
, and makeSmartCtor
for more details.
makeGrisetteADT1 :: Name -> Q [Dec] Source #
Make an ADT compatible with Grisette.
This will generate almost all useful instances for the ADT, and smart constructors for each constructor.
This cannot be used for ADTs with existential type variables.
See derive
, allClasses01
, and makeSmartCtor
for more details.
makeGrisetteADT2 :: Name -> Q [Dec] Source #
Make an ADT compatible with Grisette.
This will generate almost all useful instances for the ADT, and smart constructors for each constructor.
This cannot be used for ADTs with existential type variables.
See derive
, allClasses012
, and makeSmartCtor
for more details.