Control.Lens.Internal.TH

lens-4.15.1: Lenses, Folds and Traversals

Copyright | (C) 2013-2016 Edward Kmett and Eric Mertens
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable
Safe Haskell | Trustworthy
Language | Haskell98

Control.Lens.Internal.TH

Description

Synopsis

- tySynInstD' :: Name -> [TypeQ] -> TypeQ -> DecQ
- appsT :: TypeQ -> [TypeQ] -> TypeQ
- appsE1 :: ExpQ -> [ExpQ] -> ExpQ
- toTupleT :: [TypeQ] -> TypeQ
- toTupleE :: [ExpQ] -> ExpQ
- toTupleP :: [PatQ] -> PatQ
- conAppsT :: Name -> [Type] -> Type
- bndrName :: TyVarBndr -> Name
- fromSet :: (k -> v) -> Set k -> Map k v
- newNames :: String -> Int -> Q [Name]
- lensPackageKey :: String
- mkLensName_tc :: String -> String -> Name
- mkLensName_v :: String -> String -> Name
- traversalTypeName :: Name
- traversal'TypeName :: Name
- lensTypeName :: Name
- lens'TypeName :: Name
- isoTypeName :: Name
- iso'TypeName :: Name
- getterTypeName :: Name
- foldTypeName :: Name
- prismTypeName :: Name
- prism'TypeName :: Name
- reviewTypeName :: Name
- wrappedTypeName :: Name
- unwrappedTypeName :: Name
- rewrappedTypeName :: Name
- _wrapped'ValName :: Name
- isoValName :: Name
- prismValName :: Name
- untoValName :: Name
- phantomValName :: Name
- phantom2 :: (Functor f, Contravariant f) => f a -> f b
- composeValName :: Name
- idValName :: Name
- fmapValName :: Name
- pureValName :: Name
- apValName :: Name
- rightDataName :: Name
- leftDataName :: Name

# Documentation

tySynInstD' :: Name -> [TypeQ] -> TypeQ -> DecQ #

Compatibility shim for recent changes to template haskell's `tySynInstD`

appsT :: TypeQ -> [TypeQ] -> TypeQ #

Apply arguments to a type constructor

appsE1 :: ExpQ -> [ExpQ] -> ExpQ #

Apply arguments to a function

toTupleT :: [TypeQ] -> TypeQ #

Construct a tuple type given a list of types.

toTupleE :: [ExpQ] -> ExpQ #

Construct a tuple value given a list of expressions.

toTupleP :: [PatQ] -> PatQ #

Construct a tuple pattern given a list of patterns.

conAppsT :: Name -> [Type] -> Type #

Apply arguments to a type constructor.

bndrName :: TyVarBndr -> Name #

Return `Name` contained in a `TyVarBndr`.

fromSet :: (k -> v) -> Set k -> Map k v #

newNames #

Arguments

:: String | base name
-> Int | count
-> Q [Name] |

Generate many new names from a given base name.

lensPackageKey :: String #

mkLensName_tc :: String -> String -> Name #

mkLensName_v :: String -> String -> Name #

traversalTypeName :: Name #

traversal'TypeName :: Name #

lensTypeName :: Name #

lens'TypeName :: Name #

isoTypeName :: Name #

iso'TypeName :: Name #

getterTypeName :: Name #

foldTypeName :: Name #

prismTypeName :: Name #

prism'TypeName :: Name #

reviewTypeName :: Name #

wrappedTypeName :: Name #

unwrappedTypeName :: Name #

rewrappedTypeName :: Name #

_wrapped'ValName :: Name #

isoValName :: Name #

prismValName :: Name #

untoValName :: Name #

phantomValName :: Name #

phantom2 :: (Functor f, Contravariant f) => f a -> f b #

composeValName :: Name #

idValName :: Name #

fmapValName :: Name #

pureValName :: Name #

apValName :: Name #

rightDataName :: Name #

leftDataName :: Name #