Copyright | (c) 2023 Yamada Ryo |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | [email protected] |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Data.Effect.TH
Description
Synopsis
- makeEffect' :: MakeEffectConf -> (EffectOrder -> Info -> DataInfo -> EffClsInfo -> EffectClassConf -> Q [Dec]) -> [Name] -> [Name] -> Q [Dec]
- noExtTemplate :: EffectOrder -> Info -> DataInfo -> EffClsInfo -> EffectClassConf -> Q [Dec]
- makeEffect :: [Name] -> [Name] -> Q [Dec]
- makeEffectF :: [Name] -> Q [Dec]
- makeEffectH :: [Name] -> Q [Dec]
- class Default a where
- def :: a
- (&) :: a -> (a -> b) -> b
- data EffectOrder
- orderOf :: EffClsInfo -> EffectOrder
- newtype MakeEffectConf = MakeEffectConf {}
- alterEffectClassConf :: (EffectClassConf -> EffectClassConf) -> MakeEffectConf -> MakeEffectConf
- alterEffectConf :: (EffectConf -> EffectConf) -> MakeEffectConf -> MakeEffectConf
- data EffectClassConf = EffectClassConf {}
- confByEffect :: Lens' EffectClassConf (Name -> EffectConf)
- doesDeriveHFunctor :: Lens' EffectClassConf Bool
- doesGenerateLiftInsPatternSynonyms :: Lens' EffectClassConf Bool
- doesGenerateLiftInsTypeSynonym :: Lens' EffectClassConf Bool
- data EffectConf = EffectConf {}
- keyedSenderGenConf :: Lens' EffectConf (Maybe SenderFunctionConf)
- normalSenderGenConf :: Lens' EffectConf (Maybe SenderFunctionConf)
- taggedSenderGenConf :: Lens' EffectConf (Maybe SenderFunctionConf)
- warnFirstOrderInSigCls :: Lens' EffectConf Bool
- data SenderFunctionConf
- senderFnName :: Lens' SenderFunctionConf String
- doesGenerateSenderFnSignature :: Lens' SenderFunctionConf Bool
- senderFnDoc :: Lens' SenderFunctionConf (Maybe String -> Q (Maybe String))
- senderFnArgDoc :: Lens' SenderFunctionConf (Int -> Maybe String -> Q (Maybe String))
- senderFnConfs :: Traversal' EffectConf SenderFunctionConf
- deriveHFunctor :: (Infinite (Q Type) -> Q Type) -> DataInfo -> Q [Dec]
- noDeriveHFunctor :: MakeEffectConf -> MakeEffectConf
- generateLiftInsTypeSynonym :: MakeEffectConf -> MakeEffectConf
- noGenerateLiftInsTypeSynonym :: MakeEffectConf -> MakeEffectConf
- generateLiftInsPatternSynonyms :: MakeEffectConf -> MakeEffectConf
- noGenerateLiftInsPatternSynonyms :: MakeEffectConf -> MakeEffectConf
- noGenerateNormalSenderFunction :: MakeEffectConf -> MakeEffectConf
- noGenerateTaggedSenderFunction :: MakeEffectConf -> MakeEffectConf
- noGenerateKeyedSenderFunction :: MakeEffectConf -> MakeEffectConf
- suppressFirstOrderInSignatureClassWarning :: MakeEffectConf -> MakeEffectConf
- noGenerateSenderFunctionSignature :: MakeEffectConf -> MakeEffectConf
Documentation
makeEffect' :: MakeEffectConf -> (EffectOrder -> Info -> DataInfo -> EffClsInfo -> EffectClassConf -> Q [Dec]) -> [Name] -> [Name] -> Q [Dec] Source #
noExtTemplate :: EffectOrder -> Info -> DataInfo -> EffClsInfo -> EffectClassConf -> Q [Dec] Source #
A class for types with a default value.
Minimal complete definition
Nothing
Instances
data EffectOrder Source #
An order of effect.
Constructors
FirstOrder | |
HigherOrder |
Instances
Show EffectOrder Source # | |
Defined in Data.Effect.TH.Internal Methods showsPrec :: Int -> EffectOrder -> ShowS # show :: EffectOrder -> String # showList :: [EffectOrder] -> ShowS # | |
Eq EffectOrder Source # | |
Defined in Data.Effect.TH.Internal | |
Ord EffectOrder Source # | |
Defined in Data.Effect.TH.Internal Methods compare :: EffectOrder -> EffectOrder -> Ordering # (<) :: EffectOrder -> EffectOrder -> Bool # (<=) :: EffectOrder -> EffectOrder -> Bool # (>) :: EffectOrder -> EffectOrder -> Bool # (>=) :: EffectOrder -> EffectOrder -> Bool # max :: EffectOrder -> EffectOrder -> EffectOrder # min :: EffectOrder -> EffectOrder -> EffectOrder # |
orderOf :: EffClsInfo -> EffectOrder Source #
newtype MakeEffectConf Source #
Constructors
MakeEffectConf | |
Fields |
Instances
Default MakeEffectConf Source # | |
Defined in Data.Effect.TH.Internal Methods def :: MakeEffectConf # |
alterEffectClassConf :: (EffectClassConf -> EffectClassConf) -> MakeEffectConf -> MakeEffectConf Source #
alterEffectConf :: (EffectConf -> EffectConf) -> MakeEffectConf -> MakeEffectConf Source #
data EffectClassConf Source #
Constructors
EffectClassConf | |
Instances
Default EffectClassConf Source # | |
Defined in Data.Effect.TH.Internal Methods def :: EffectClassConf # |
confByEffect :: Lens' EffectClassConf (Name -> EffectConf) Source #
data EffectConf Source #
data SenderFunctionConf Source #
senderFnDoc :: Lens' SenderFunctionConf (Maybe String -> Q (Maybe String)) Source #