| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.TH.Natural.Syntax.Expr.Typed.Class
Synopsis
- class IsTypedExprBuilder st where
- runTypedExprBuilder :: forall (args :: [Type]) a. TypedExprBuilder st ('[] :: [Type]) args (Returns a) () -> Q (TExp (args :~> Returns a))
- genExpr :: forall st a (args :: [Type]). (IsExprBuilder st, Definition st ~ Q a, ExtractedConstructor a Exp) => TypedExprBuilder st ('[] :: [Type]) args (Returns a) () -> Q (TExp (args :~> Returns a))
- addDeconstruct :: forall {a} st (args :: [Type]). IsExprBuilder st => Deconstruct -> TypedExprBuilder st args args ('Unknown :: Returns a) ()
- addLet :: forall {a} st (args :: [Type]). IsExprBuilder st => Binding -> TypedExprBuilder st args args ('Unknown :: Returns a) ()
- letCount :: forall {k} st (args :: [Type]) (res :: k). IsExprBuilder st => TypedExprBuilder st args args res Int
- returns :: forall t b (args :: [Type]) st. (IsExprBuilder st, GenTExpr t b) => b -> TypedExprBuilder st args args (Returns t) ()
- strictLetBind :: forall {a} st t b (args :: [Type]). (IsExprBuilder st, GenTExpr t b) => b -> TypedExprBuilder st args args ('Unknown :: Returns a) (TExp t)
- letBind :: forall {a} st t b (args :: [Type]). (IsExprBuilder st, GenTExpr t b) => b -> TypedExprBuilder st args args ('Unknown :: Returns a) (TExp t)
- letBind_ :: forall {a} t b st (args :: [Type]). (IsExprBuilder st, GenTExpr t b) => Bool -> b -> TypedExprBuilder st args args ('Unknown :: Returns a) (TExp t)
Documentation
class IsTypedExprBuilder st where Source #
Methods
runTypedExprBuilder :: forall (args :: [Type]) a. TypedExprBuilder st ('[] :: [Type]) args (Returns a) () -> Q (TExp (args :~> Returns a)) Source #
Instances
| (IsExprBuilder st, Definition st ~ Q a, ExtractedConstructor a Exp) => IsTypedExprBuilder st Source # | |
genExpr :: forall st a (args :: [Type]). (IsExprBuilder st, Definition st ~ Q a, ExtractedConstructor a Exp) => TypedExprBuilder st ('[] :: [Type]) args (Returns a) () -> Q (TExp (args :~> Returns a)) Source #
Alias to runTypedExprBuilder
addDeconstruct :: forall {a} st (args :: [Type]). IsExprBuilder st => Deconstruct -> TypedExprBuilder st args args ('Unknown :: Returns a) () Source #
addLet :: forall {a} st (args :: [Type]). IsExprBuilder st => Binding -> TypedExprBuilder st args args ('Unknown :: Returns a) () Source #
letCount :: forall {k} st (args :: [Type]) (res :: k). IsExprBuilder st => TypedExprBuilder st args args res Int Source #
returns :: forall t b (args :: [Type]) st. (IsExprBuilder st, GenTExpr t b) => b -> TypedExprBuilder st args args (Returns t) () Source #
strictLetBind :: forall {a} st t b (args :: [Type]). (IsExprBuilder st, GenTExpr t b) => b -> TypedExprBuilder st args args ('Unknown :: Returns a) (TExp t) Source #
letBind :: forall {a} st t b (args :: [Type]). (IsExprBuilder st, GenTExpr t b) => b -> TypedExprBuilder st args args ('Unknown :: Returns a) (TExp t) Source #