{-# OPTIONS_GHC -Wno-missing-import-lists #-}
module Grisette.TH
(
derive,
deriveAll,
deriveAllExcept,
mkMergeConstructor,
mkMergeConstructor',
mkUnifiedConstructor,
mkUnifiedConstructor',
DeriveTypeParamHandler (..),
IsFPBits (..),
NatShouldBePositive (..),
PrimaryConstraint (..),
SomeDeriveTypeParamHandler (..),
DeriveInstanceProvider (..),
Strategy (..),
TypeableMode (..),
PrimaryUnifiedConstraint (..),
UnifiedInstance (..),
deriveWithHandlers,
derivePredefined,
derivePredefinedMultipleClasses,
deriveBuiltinExtra,
deriveUnifiedInterfaceExtra,
deriveUnifiedInterface1Extra,
deriveFunctorArgUnifiedInterfaceExtra,
)
where
import Grisette.Internal.TH.DeriveBuiltin
( deriveBuiltinExtra,
)
import Grisette.Internal.TH.DeriveInstanceProvider
( DeriveInstanceProvider (..),
Strategy (..),
)
import Grisette.Internal.TH.DerivePredefined
( derive,
deriveAll,
deriveAllExcept,
derivePredefined,
derivePredefinedMultipleClasses,
)
import Grisette.Internal.TH.DeriveTypeParamHandler
( DeriveTypeParamHandler (..),
IsFPBits (..),
NatShouldBePositive (..),
PrimaryConstraint (..),
SomeDeriveTypeParamHandler (..),
)
import Grisette.Internal.TH.DeriveUnifiedInterface
( PrimaryUnifiedConstraint (..),
TypeableMode (..),
UnifiedInstance (..),
deriveFunctorArgUnifiedInterfaceExtra,
deriveUnifiedInterface1Extra,
deriveUnifiedInterfaceExtra,
)
import Grisette.Internal.TH.DeriveWithHandlers (deriveWithHandlers)
import Grisette.Internal.TH.MergeConstructor
( mkMergeConstructor,
mkMergeConstructor',
)
import Grisette.Internal.TH.UnifiedConstructor
( mkUnifiedConstructor,
mkUnifiedConstructor',
)