Copyright | (c) 2023-2025 Sayo contributors |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | ymdfield@outlook.jp |
Safe Haskell | None |
Language | GHC2021 |
Data.Effect.TH
Description
Synopsis
- makeEffectF :: Name -> Q [Dec]
- makeEffectsF :: [Name] -> Q [Dec]
- makeEffectF' :: EffectConf -> Name -> Q [Dec]
- effectMakers :: EffectGenerator -> (Name -> Q [Dec], [Name] -> Q [Dec], EffectConf -> Name -> Q [Dec])
- genFOEwithHFunctor :: EffectGenerator
- makeEffectF_ :: Name -> Q [Dec]
- makeEffectsF_ :: [Name] -> Q [Dec]
- makeEffectF_' :: EffectConf -> Name -> Q [Dec]
- makeEffectH :: Name -> Q [Dec]
- makeEffectsH :: [Name] -> Q [Dec]
- makeEffectH' :: EffectConf -> Name -> Q [Dec]
- genHOEwithHFunctor :: EffectGenerator
- makeEffectH_ :: Name -> Q [Dec]
- makeEffectsH_ :: [Name] -> Q [Dec]
- makeEffectH_' :: EffectConf -> Name -> Q [Dec]
- module Data.Default
- (&) :: a -> (a -> b) -> b
- data EffectOrder
- data EffectConf = EffectConf {}
- data OpConf = OpConf {}
- keyedPerformerConf :: Lens' OpConf (Maybe PerformerConf)
- normalPerformerConf :: Lens' OpConf (Maybe PerformerConf)
- taggedPerformerConf :: Lens' OpConf (Maybe PerformerConf)
- data PerformerConf = PerformerConf {
- _performerName :: String
- _doesGeneratePerformerSignature :: Bool
- _performerDoc :: Maybe String -> Q (Maybe String)
- _performerArgDoc :: Int -> Maybe String -> Q (Maybe String)
- performerName :: Lens' PerformerConf String
- doesGeneratePerformerSignature :: Lens' PerformerConf Bool
- performerDoc :: Lens' PerformerConf (Maybe String -> Q (Maybe String))
- performerArgDoc :: Lens' PerformerConf (Int -> Maybe String -> Q (Maybe String))
- performerConfs :: Traversal' OpConf PerformerConf
- deriveHFunctor :: (Infinite (Q Type) -> Q Type) -> DataInfo -> Q [Dec]
- noGenerateNormalPerformer :: EffectConf -> EffectConf
- noGenerateTaggedPerformer :: EffectConf -> EffectConf
- noGenerateKeyedPerformer :: EffectConf -> EffectConf
- noGeneratePerformerSignature :: EffectConf -> EffectConf
- noGenerateLabel :: EffectConf -> EffectConf
- noGenerateOrderInstance :: EffectConf -> EffectConf
- data Infinite a = a :< (Infinite a)
Documentation
makeEffectF' :: EffectConf -> Name -> Q [Dec] Source #
effectMakers :: EffectGenerator -> (Name -> Q [Dec], [Name] -> Q [Dec], EffectConf -> Name -> Q [Dec]) Source #
makeEffectF_' :: EffectConf -> Name -> Q [Dec] Source #
makeEffectH' :: EffectConf -> Name -> Q [Dec] Source #
makeEffectH_' :: EffectConf -> Name -> Q [Dec] Source #
module Data.Default
(&) :: a -> (a -> b) -> b infixl 1 #
&
is a reverse application operator. This provides notational
convenience. Its precedence is one higher than that of the forward
application operator $
, which allows &
to be nested in $
.
This is a version of
, where flip
id
id
is specialized from a -> a
to (a -> b) -> (a -> b)
which by the associativity of (->)
is (a -> b) -> a -> b
.
flipping this yields a -> (a -> b) -> b
which is the type signature of &
Examples
>>>
5 & (+1) & show
"6"
>>>
sqrt $ [1 / n^2 | n <- [1..1000]] & sum & (*6)
3.1406380562059946
Since: base-4.8.0.0
data EffectOrder #
An order of effect.
Constructors
FirstOrder | |
HigherOrder |
Instances
Show EffectOrder | |
Defined in Data.Effect Methods showsPrec :: Int -> EffectOrder -> ShowS # show :: EffectOrder -> String # showList :: [EffectOrder] -> ShowS # | |
Eq EffectOrder | |
Defined in Data.Effect | |
Ord EffectOrder | |
Defined in Data.Effect 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 # |
data EffectConf Source #
Constructors
EffectConf | |
Fields
|
Instances
Default EffectConf Source # | |
Defined in Data.Effect.TH.Internal Methods def :: EffectConf # |
Constructors
OpConf | |
data PerformerConf Source #
Constructors
PerformerConf | |
Fields
|
performerDoc :: Lens' PerformerConf (Maybe String -> Q (Maybe String)) Source #