| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.TH.Natural.Syntax.Expr.Internal
Description
Internals for building simple expressions. Do not use unless you know what you are doing
Synopsis
- data Binding = MkBind {}
- bindingToDec :: Binding -> Dec
- data Deconstruct = MkDec {}
- deconstructToDec :: Deconstruct -> Dec
- deconstructToPat :: Deconstruct -> Pat
- mergeDeconstructs :: MonadFail m => [Deconstruct] -> m [Deconstruct]
- mergeDeconstruct :: MonadFail m => Deconstruct -> Deconstruct -> m Deconstruct
- conName :: Lens' Deconstruct (Either Int Name)
- fieldPatterns :: Lens' Deconstruct [(Int, Pat)]
- src :: Lens' Deconstruct Exp
- totalFieldCount :: Lens' Deconstruct Int
Binding (Let, do bind)
bindingToDec :: Binding -> Dec Source #
Deconstruction
data Deconstruct Source #
Constructors
| MkDec | |
Instances
| Show Deconstruct Source # | |
Defined in Language.Haskell.TH.Natural.Syntax.Expr.Internal Methods showsPrec :: Int -> Deconstruct -> ShowS # show :: Deconstruct -> String # showList :: [Deconstruct] -> ShowS # | |
| Eq Deconstruct Source # | |
deconstructToDec :: Deconstruct -> Dec Source #
deconstructToPat :: Deconstruct -> Pat Source #
mergeDeconstructs :: MonadFail m => [Deconstruct] -> m [Deconstruct] Source #
Merge Deconstructs that have the same src
mergeDeconstruct :: MonadFail m => Deconstruct -> Deconstruct -> m Deconstruct Source #
Merge two Deconstructs. Will fail if the constructor does not match or if the totalFeildCount are not equal
fieldPatterns :: Lens' Deconstruct [(Int, Pat)] Source #