Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
THLego.Lambdas
Synopsis
- vlLens :: Name -> Int -> Int -> Exp
- matcher :: [Match] -> Exp
- productGetter :: Name -> Int -> Int -> Exp
- productSetter :: Name -> Int -> Int -> Exp
- productMapper :: Name -> Int -> Int -> Exp
- sumMapper :: Name -> Int -> Exp
- adtConstructorNarrower :: Name -> Int -> Exp
- enumConstructorToBool :: Name -> Exp
- singleConstructorAdtToTuple :: Name -> Int -> Exp
- tupleToProduct :: Name -> Int -> Exp
- tupleOrSingletonToProduct :: Name -> Int -> Exp
- namedFieldSetter :: Name -> Exp
Documentation
Arguments
:: Name | Constructor name. |
-> Int | Total amount of members. |
-> Int | Index of the member. |
-> Exp | Lambda expression of the following type: forall f. Functor f => (a -> f b) -> s -> f t |
Van Larrhoven lens.
Arguments
:: Name | Constructor name. |
-> Int | Total amount of members. |
-> Int | Index of the member. |
-> Exp | Lambda expression of the following form: product -> member |
Lambda expression, which extracts a product member by index.
Arguments
:: Name | Constructor name. |
-> Int | Total amount of members. |
-> Int | Index of the member. |
-> Exp | Lambda expression of the following form: product -> member -> product |
Lambda expression, which sets a product member by index.
Arguments
:: Name | Constructor name. |
-> Int | Total amount of members. |
-> Int | Index of the member. |
-> Exp | Lambda expression of the following form: (member -> member) -> product -> product |
Lambda expression, which maps a product member by index.
Arguments
:: Name | Constructor name. |
-> Int | Total amount of members. |
-> Exp | Lambda expression of the following form: (membersTuple -> membersTuple) -> sum -> sum |
Lambda expression, which maps a sum member by index.
enumConstructorToBool :: Name -> Exp Source #
namedFieldSetter :: Name -> Exp Source #