| Copyright | (c) 2016-2020 James Koppel |
|---|---|
| License | BSD3 |
| Safe Haskell | None |
| Language | Haskell2010 |
Cubix.Language.Lua.Parametric.Common
Description
Language definition is auto-generated from that of language-lua, and modified
to replace some language-specific nodes with generic nodes.
See https://hackage.haskell.org/package/language-lua-0.11.0.1/docs/Language-Lua-Annotated-Syntax.html
Synopsis
- type MLuaSig = '[Binop, Exp, FunDef, FunName, PrefixExp, Stat, Table, TableField, Unop, Var, NumberType, PairF, ListF, MaybeF, UnitF, FunBody, LuaLocalVarInit, LuaLhs, LuaRhs, LuaBlockEnd, LuaSpecialFunArg, LuaFunctionDefinedObj, LuaFunctionAttrs, LuaVarArgsParam, IdentIsName, AssignIsStat, BlockIsBlock, StatIsBlockItem, SingleLocalVarDeclIsStat, FunctionCallIsFunCall, ExpIsPositionalArgExp, PrefixExpIsFunctionExp, PrefixExpIsReceiver, FunctionDefIsStat, BlockIsFunctionBody, ExpressionIsExp, ExpIsExpression, OptLocalVarInit, SingleLocalVarDecl, Ident, AssignOpEquals, Assign, Block, TupleBinder, EmptyLocalVarDeclAttrs, FunctionCall, EmptyFunctionCallAttrs, FunctionArgumentList, PositionalArgument, ReceiverArg, FunctionIdent, FunctionDef, EmptyFunctionDefAttrs, SelfParameter, PositionalParameter, EmptyParameterAttrs, UnaryMinusOp, ComplementOp, LogicalNegationOp, ArithBinOp, DivOp, ModOp, IDivOp, ExpOp, BitwiseBinOp, LogicalBinOp, LogicalShrOp, ShlOp, RelationalBinOp, Operator]
- type MLuaTerm = Term MLuaSig
- type MLuaTermLab = TermLab MLuaSig
- data LuaLocalVarInit (e :: Type -> Type) l where
- LuaLocalVarInit :: forall (e :: Type -> Type). e [ExpL] -> LuaLocalVarInit e LocalVarInitL
- data LuaLhs (e :: Type -> Type) l where
- data LuaRhs (e :: Type -> Type) l where
- data LuaBlockEnd (e :: Type -> Type) l where
- LuaBlockEnd :: forall (e :: Type -> Type). e (Maybe [ExpL]) -> LuaBlockEnd e BlockEndL
- data LuaSpecialFunArg (e :: Type -> Type) l where
- LuaTableArg :: forall (e :: Type -> Type). e TableL -> LuaSpecialFunArg e FunctionArgumentsL
- LuaStringArg :: forall (e :: Type -> Type). String -> LuaSpecialFunArg e FunctionArgumentsL
- LuaReceiverAndTableArg :: forall (e :: Type -> Type). e PrefixExpL -> e TableL -> LuaSpecialFunArg e FunctionArgumentsL
- LuaReceiverAndStringArg :: forall (e :: Type -> Type). e PrefixExpL -> String -> LuaSpecialFunArg e FunctionArgumentsL
- data IdentIsName (e :: Type -> Type) i = i ~ NameL => IdentIsName (e IdentL)
- data AssignIsStat (e :: Type -> Type) i = i ~ StatL => AssignIsStat (e AssignL)
- data BlockIsBlock (e :: Type -> Type) i = i ~ BlockL => BlockIsBlock (e BlockL)
- data StatIsBlockItem (e :: Type -> Type) i = i ~ BlockItemL => StatIsBlockItem (e StatL)
- data SingleLocalVarDeclIsStat (e :: Type -> Type) i = i ~ StatL => SingleLocalVarDeclIsStat (e SingleLocalVarDeclL)
- data FunctionCallIsFunCall (e :: Type -> Type) i = i ~ FunCallL => FunctionCallIsFunCall (e FunctionCallL)
- data ExpIsPositionalArgExp (e :: Type -> Type) i = i ~ PositionalArgExpL => ExpIsPositionalArgExp (e ExpL)
- data PrefixExpIsFunctionExp (e :: Type -> Type) i = i ~ FunctionExpL => PrefixExpIsFunctionExp (e PrefixExpL)
- data PrefixExpIsReceiver (e :: Type -> Type) i = i ~ ReceiverL => PrefixExpIsReceiver (e PrefixExpL)
- data LuaFunctionDefinedObjL
- data LuaFunctionDefinedObj (e :: Type -> Type) l where
- LuaFunctionDefinedObj :: forall (e :: Type -> Type). e [IdentL] -> LuaFunctionDefinedObj e LuaFunctionDefinedObjL
- data LuaFunctionAttrs (e :: Type -> Type) l where
- LuaFunctionAttrs :: forall (e :: Type -> Type). e LuaFunctionDefinedObjL -> LuaFunctionAttrs e FunctionDefAttrsL
- data LuaVarArgsParam (a :: Family) b where
- LuaVarArgsParam :: forall (a :: Family). LuaVarArgsParam a FunctionParameterL
- data FunctionDefIsStat (e :: Type -> Type) i = i ~ StatL => FunctionDefIsStat (e FunctionDefL)
- data BlockIsFunctionBody (e :: Type -> Type) i = i ~ FunctionBodyL => BlockIsFunctionBody (e BlockL)
- data ExpressionIsExp (e :: Type -> Type) i = i ~ ExpL => ExpressionIsExp (e ExpressionL)
- data ExpIsExpression (e :: Type -> Type) i = i ~ ExpressionL => ExpIsExpression (e ExpL)
- type MLuaCxt h (a :: Type -> Type) = CxtS h MLuaSig a
- type MLuaCxtA h (a :: Type -> Type) p = AnnCxtS p h MLuaSig a
- type MLuaTermOptAnn a = AnnTerm (Maybe a) MLuaSig
- iLuaLocalVarInit :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaLocalVarInit :-<: fs, InjF fs LocalVarInitL j) => CxtS h fs a [ExpL] -> CxtS h fs a j
- iLuaLhs :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaLhs :-<: fs, InjF fs LhsL j) => CxtS h fs a [VarL] -> CxtS h fs a j
- iLuaRhs :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaRhs :-<: fs, InjF fs RhsL j) => CxtS h fs a [ExpL] -> CxtS h fs a j
- iLuaBlockEnd :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaBlockEnd :-<: fs, InjF fs BlockEndL j) => CxtS h fs a (Maybe [ExpL]) -> CxtS h fs a j
- iAssignIsStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (AssignIsStat :-<: fs, InjF fs StatL j) => CxtS h fs a AssignL -> CxtS h fs a j
- iSingleLocalVarDeclIsStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (SingleLocalVarDeclIsStat :-<: fs, InjF fs StatL j) => CxtS h fs a SingleLocalVarDeclL -> CxtS h fs a j
- iFunctionCallIsFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunctionCallIsFunCall :-<: fs, InjF fs FunCallL j) => CxtS h fs a FunctionCallL -> CxtS h fs a j
- jLuaLocalVarInit :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaLocalVarInit :<: f => Cxt h f a [ExpL] -> Cxt h f a LocalVarInitL
- jLuaLhs :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaLhs :<: f => Cxt h f a [VarL] -> Cxt h f a LhsL
- jLuaRhs :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaRhs :<: f => Cxt h f a [ExpL] -> Cxt h f a RhsL
- jLuaBlockEnd :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaBlockEnd :<: f => Cxt h f a (Maybe [ExpL]) -> Cxt h f a BlockEndL
- jLuaTableArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => Cxt h f a TableL -> Cxt h f a FunctionArgumentsL
- jLuaStringArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => String -> Cxt h f a FunctionArgumentsL
- jLuaReceiverAndTableArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> Cxt h f a TableL -> Cxt h f a FunctionArgumentsL
- jLuaReceiverAndStringArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> String -> Cxt h f a FunctionArgumentsL
- pattern LuaLocalVarInit' :: forall h f a j. LuaLocalVarInit :<: f => Cxt h f a [ExpL] -> Cxt h f a LocalVarInitL
- pattern LuaLhs' :: forall h f a j. LuaLhs :<: f => Cxt h f a [VarL] -> Cxt h f a LhsL
- pattern LuaRhs' :: forall h f a j. LuaRhs :<: f => Cxt h f a [ExpL] -> Cxt h f a RhsL
- pattern LuaBlockEnd' :: forall h f a j. LuaBlockEnd :<: f => Cxt h f a (Maybe [ExpL]) -> Cxt h f a BlockEndL
- pattern LuaTableArg' :: forall h f a j. LuaSpecialFunArg :<: f => Cxt h f a TableL -> Cxt h f a FunctionArgumentsL
- pattern LuaStringArg' :: forall h f a j. LuaSpecialFunArg :<: f => String -> Cxt h f a FunctionArgumentsL
- pattern LuaReceiverAndTableArg' :: forall h f a j. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> Cxt h f a TableL -> Cxt h f a FunctionArgumentsL
- pattern LuaReceiverAndStringArg' :: forall h f a j. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> String -> Cxt h f a FunctionArgumentsL
- iLuaTableArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => CxtS h fs a TableL -> CxtS h fs a j
- iLuaStringArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => String -> CxtS h fs a j
- iLuaReceiverAndTableArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => CxtS h fs a PrefixExpL -> CxtS h fs a TableL -> CxtS h fs a j
- iLuaReceiverAndStringArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => CxtS h fs a PrefixExpL -> String -> CxtS h fs a j
- jIdentIsName :: forall {f :: Fragment} {h} {a :: Type -> Type}. IdentIsName :<: f => Cxt h f a IdentL -> Cxt h f a NameL
- jAssignIsStat :: forall {f :: Fragment} {h} {a :: Type -> Type}. AssignIsStat :<: f => Cxt h f a AssignL -> Cxt h f a StatL
- jBlockIsBlock :: forall {f :: Fragment} {h} {a :: Type -> Type}. BlockIsBlock :<: f => Cxt h f a BlockL -> Cxt h f a BlockL
- jStatIsBlockItem :: forall {f :: Fragment} {h} {a :: Type -> Type}. StatIsBlockItem :<: f => Cxt h f a StatL -> Cxt h f a BlockItemL
- jSingleLocalVarDeclIsStat :: forall {f :: Fragment} {h} {a :: Type -> Type}. SingleLocalVarDeclIsStat :<: f => Cxt h f a SingleLocalVarDeclL -> Cxt h f a StatL
- jFunctionCallIsFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunctionCallIsFunCall :<: f => Cxt h f a FunctionCallL -> Cxt h f a FunCallL
- jExpIsPositionalArgExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. ExpIsPositionalArgExp :<: f => Cxt h f a ExpL -> Cxt h f a PositionalArgExpL
- jPrefixExpIsFunctionExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExpIsFunctionExp :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunctionExpL
- jPrefixExpIsReceiver :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExpIsReceiver :<: f => Cxt h f a PrefixExpL -> Cxt h f a ReceiverL
- pattern IdentIsName' :: forall h f a j. IdentIsName :<: f => Cxt h f a IdentL -> Cxt h f a NameL
- pattern AssignIsStat' :: forall h f a j. AssignIsStat :<: f => Cxt h f a AssignL -> Cxt h f a StatL
- pattern BlockIsBlock' :: forall h f a j. BlockIsBlock :<: f => Cxt h f a BlockL -> Cxt h f a BlockL
- pattern StatIsBlockItem' :: forall h f a j. StatIsBlockItem :<: f => Cxt h f a StatL -> Cxt h f a BlockItemL
- pattern SingleLocalVarDeclIsStat' :: forall h f a j. SingleLocalVarDeclIsStat :<: f => Cxt h f a SingleLocalVarDeclL -> Cxt h f a StatL
- pattern FunctionCallIsFunCall' :: forall h f a j. FunctionCallIsFunCall :<: f => Cxt h f a FunctionCallL -> Cxt h f a FunCallL
- pattern ExpIsPositionalArgExp' :: forall h f a j. ExpIsPositionalArgExp :<: f => Cxt h f a ExpL -> Cxt h f a PositionalArgExpL
- pattern PrefixExpIsFunctionExp' :: forall h f a j. PrefixExpIsFunctionExp :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunctionExpL
- pattern PrefixExpIsReceiver' :: forall h f a j. PrefixExpIsReceiver :<: f => Cxt h f a PrefixExpL -> Cxt h f a ReceiverL
- iIdentIsName :: forall h (fs :: Signature) (a :: Type -> Type) j. (IdentIsName :-<: fs, InjF fs NameL j) => CxtS h fs a IdentL -> CxtS h fs a j
- iBlockIsBlock :: forall h (fs :: Signature) (a :: Type -> Type) j. (BlockIsBlock :-<: fs, InjF fs BlockL j) => CxtS h fs a BlockL -> CxtS h fs a j
- iStatIsBlockItem :: forall h (fs :: Signature) (a :: Type -> Type) j. (StatIsBlockItem :-<: fs, InjF fs BlockItemL j) => CxtS h fs a StatL -> CxtS h fs a j
- iExpIsPositionalArgExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (ExpIsPositionalArgExp :-<: fs, InjF fs PositionalArgExpL j) => CxtS h fs a ExpL -> CxtS h fs a j
- iPrefixExpIsFunctionExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExpIsFunctionExp :-<: fs, InjF fs FunctionExpL j) => CxtS h fs a PrefixExpL -> CxtS h fs a j
- iPrefixExpIsReceiver :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExpIsReceiver :-<: fs, InjF fs ReceiverL j) => CxtS h fs a PrefixExpL -> CxtS h fs a j
- jLuaFunctionDefinedObj :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaFunctionDefinedObj :<: f => Cxt h f a [IdentL] -> Cxt h f a LuaFunctionDefinedObjL
- pattern LuaFunctionDefinedObj' :: forall h f a j. LuaFunctionDefinedObj :<: f => Cxt h f a [IdentL] -> Cxt h f a LuaFunctionDefinedObjL
- iLuaFunctionDefinedObj :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaFunctionDefinedObj :-<: fs, InjF fs LuaFunctionDefinedObjL j) => CxtS h fs a [IdentL] -> CxtS h fs a j
- jLuaFunctionAttrs :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaFunctionAttrs :<: f => Cxt h f a LuaFunctionDefinedObjL -> Cxt h f a FunctionDefAttrsL
- pattern LuaFunctionAttrs' :: forall h f a j. LuaFunctionAttrs :<: f => Cxt h f a LuaFunctionDefinedObjL -> Cxt h f a FunctionDefAttrsL
- iLuaFunctionAttrs :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaFunctionAttrs :-<: fs, InjF fs FunctionDefAttrsL j) => CxtS h fs a LuaFunctionDefinedObjL -> CxtS h fs a j
- jLuaVarArgsParam :: forall h (f :: Fragment) (a :: Type -> Type). LuaVarArgsParam :<: f => Cxt h f a FunctionParameterL
- pattern LuaVarArgsParam' :: forall h f a j. LuaVarArgsParam :<: f => Cxt h f a FunctionParameterL
- iLuaVarArgsParam :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaVarArgsParam :-<: fs, InjF fs FunctionParameterL j) => CxtS h fs a j
- jFunctionDefIsStat :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunctionDefIsStat :<: f => Cxt h f a FunctionDefL -> Cxt h f a StatL
- jBlockIsFunctionBody :: forall {f :: Fragment} {h} {a :: Type -> Type}. BlockIsFunctionBody :<: f => Cxt h f a BlockL -> Cxt h f a FunctionBodyL
- pattern FunctionDefIsStat' :: forall h f a j. FunctionDefIsStat :<: f => Cxt h f a FunctionDefL -> Cxt h f a StatL
- pattern BlockIsFunctionBody' :: forall h f a j. BlockIsFunctionBody :<: f => Cxt h f a BlockL -> Cxt h f a FunctionBodyL
- iFunctionDefIsStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunctionDefIsStat :-<: fs, InjF fs StatL j) => CxtS h fs a FunctionDefL -> CxtS h fs a j
- iBlockIsFunctionBody :: forall h (fs :: Signature) (a :: Type -> Type) j. (BlockIsFunctionBody :-<: fs, InjF fs FunctionBodyL j) => CxtS h fs a BlockL -> CxtS h fs a j
- jExpressionIsExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. ExpressionIsExp :<: f => Cxt h f a ExpressionL -> Cxt h f a ExpL
- jExpIsExpression :: forall {f :: Fragment} {h} {a :: Type -> Type}. ExpIsExpression :<: f => Cxt h f a ExpL -> Cxt h f a ExpressionL
- pattern ExpressionIsExp' :: forall h f a j. ExpressionIsExp :<: f => Cxt h f a ExpressionL -> Cxt h f a ExpL
- pattern ExpIsExpression' :: forall h f a j. ExpIsExpression :<: f => Cxt h f a ExpL -> Cxt h f a ExpressionL
- iExpressionIsExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (ExpressionIsExp :-<: fs, InjF fs ExpL j) => CxtS h fs a ExpressionL -> CxtS h fs a j
- iExpIsExpression :: forall h (fs :: Signature) (a :: Type -> Type) j. (ExpIsExpression :-<: fs, InjF fs ExpressionL j) => CxtS h fs a ExpL -> CxtS h fs a j
- translate :: LuaTerm l -> MLuaTerm l
- untranslate :: MLuaTerm l -> LuaTerm l
- data Exp (e :: Type -> Type) i
- = i ~ ExpL => Nil
- | i ~ ExpL => Bool Bool
- | i ~ ExpL => Number (e NumberTypeL) Text
- | i ~ ExpL => String Text
- | i ~ ExpL => Vararg
- | i ~ ExpL => EFunDef (e FunDefL)
- | i ~ ExpL => PrefixExp (e PrefixExpL)
- | i ~ ExpL => TableConst (e TableL)
- | i ~ ExpL => Binop (e BinopL) (e ExpL) (e ExpL)
- | i ~ ExpL => Unop (e UnopL) (e ExpL)
- data Binop (e :: Type -> Type) i
- data Stat (e :: Type -> Type) i
- = i ~ StatL => FunCall (e FunCallL)
- | i ~ StatL => Label (e NameL)
- | i ~ StatL => Break
- | i ~ StatL => Goto (e NameL)
- | i ~ StatL => Do (e BlockL)
- | i ~ StatL => While (e ExpL) (e BlockL)
- | i ~ StatL => Repeat (e BlockL) (e ExpL)
- | i ~ StatL => If (e [(ExpL, BlockL)]) (e (Maybe BlockL))
- | i ~ StatL => ForRange (e NameL) (e ExpL) (e ExpL) (e (Maybe ExpL)) (e BlockL)
- | i ~ StatL => ForIn (e [NameL]) (e [ExpL]) (e BlockL)
- | i ~ StatL => FunAssign (e FunNameL) (e FunBodyL)
- | i ~ StatL => LocalFunAssign (e NameL) (e FunBodyL)
- | i ~ StatL => LocalAssign (e [NameL]) (e (Maybe [ExpL]))
- | i ~ StatL => EmptyStat
- data Table (e :: Type -> Type) i = i ~ TableL => Table (e [TableFieldL])
- data Var (e :: Type -> Type) i
- = i ~ VarL => VarName (e NameL)
- | i ~ VarL => Select (e PrefixExpL) (e ExpL)
- | i ~ VarL => SelectName (e PrefixExpL) (e NameL)
- data ExpL
- data FunBodyL
- type family Targ i
- data FunCall (e :: Type -> Type) i
- = i ~ FunCallL => NormalFunCall (e PrefixExpL) (e FunArgL)
- | i ~ FunCallL => MethodCall (e PrefixExpL) (e NameL) (e FunArgL)
- data FunBody (e :: Type -> Type) l where
- data NumberType (e :: Type -> Type) i
- = i ~ NumberTypeL => IntNum
- | i ~ NumberTypeL => FloatNum
- data PrefixExp (e :: Type -> Type) i
- = i ~ PrefixExpL => PEVar (e VarL)
- | i ~ PrefixExpL => PEFunCall (e FunCallL)
- | i ~ PrefixExpL => Paren (e ExpL)
- data Unop (e :: Type -> Type) i
- data FunArg (e :: Type -> Type) i
- data FunDef (e :: Type -> Type) i = i ~ FunDefL => FunDef (e FunBodyL)
- data FunName (e :: Type -> Type) i = i ~ FunNameL => FunName (e NameL) (e [NameL]) (e (Maybe NameL))
- data TableField (e :: Type -> Type) i
- = i ~ TableFieldL => ExpField (e ExpL) (e ExpL)
- | i ~ TableFieldL => NamedField (e NameL) (e ExpL)
- | i ~ TableFieldL => Field (e ExpL)
- jBool :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Bool -> Cxt h f a ExpL
- jParen :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExp :<: f => Cxt h f a ExpL -> Cxt h f a PrefixExpL
- jAnd :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jOr :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jWhile :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a ExpL -> Cxt h f a BlockL -> Cxt h f a StatL
- jBreak :: forall h (f :: Fragment) (a :: Type -> Type). Stat :<: f => Cxt h f a StatL
- pattern Bool' :: forall h f a j. Exp :<: f => Bool -> Cxt h f a ExpL
- pattern Paren' :: forall h f a j. PrefixExp :<: f => Cxt h f a ExpL -> Cxt h f a PrefixExpL
- pattern And' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern Or' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern While' :: forall h f a j. Stat :<: f => Cxt h f a ExpL -> Cxt h f a BlockL -> Cxt h f a StatL
- pattern Break' :: forall h f a j. Stat :<: f => Cxt h f a StatL
- iBool :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => Bool -> CxtS h fs a j
- iParen :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExp :-<: fs, InjF fs PrefixExpL j) => CxtS h fs a ExpL -> CxtS h fs a j
- iAnd :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iOr :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iWhile :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a ExpL -> CxtS h fs a BlockL -> CxtS h fs a j
- iBreak :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a j
- luaSigNames :: [Name]
- type LuaTerm = Term LuaSig
- type LuaSig = '[Binop, Block, Exp, FunArg, FunCall, FunDef, FunName, Name, PrefixExp, Stat, Table, TableField, Unop, Var, NumberType, PairF, ListF, MaybeF, UnitF, FunBody]
- type LuaTermLab l = TermLab LuaSig l
- type LuaTermOptAnn a = AnnTerm (Maybe a) LuaSig
- data BinopL
- data StatL
- data NumberTypeL
- data FunDefL
- data PrefixExpL
- data TableL
- data UnopL
- data FunArgL
- data FunCallL
- data FunNameL
- data VarL
- data TableFieldL
- jExp :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jConcat :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jLT :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jLTE :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jGT :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jGTE :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jEQ :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jNEQ :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jShiftL :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jShiftR :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jBAnd :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jBOr :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jBXor :: forall h (f :: Fragment) (a :: Type -> Type). Binop :<: f => Cxt h f a BinopL
- jNil :: forall h (f :: Fragment) (a :: Type -> Type). Exp :<: f => Cxt h f a ExpL
- jNumber :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a NumberTypeL -> Text -> Cxt h f a ExpL
- jString :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Text -> Cxt h f a ExpL
- jVararg :: forall h (f :: Fragment) (a :: Type -> Type). Exp :<: f => Cxt h f a ExpL
- jEFunDef :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a FunDefL -> Cxt h f a ExpL
- jPrefixExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL
- jTableConst :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a TableL -> Cxt h f a ExpL
- jBinop :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a BinopL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a ExpL
- jUnop :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a UnopL -> Cxt h f a ExpL -> Cxt h f a ExpL
- jArgs :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunArg :<: f => Cxt h f a [ExpL] -> Cxt h f a FunArgL
- jTableArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunArg :<: f => Cxt h f a TableL -> Cxt h f a FunArgL
- jStringArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunArg :<: f => Text -> Cxt h f a FunArgL
- jNormalFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunArgL -> Cxt h f a FunCallL
- jMethodCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a FunArgL -> Cxt h f a FunCallL
- jFunDef :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunDef :<: f => Cxt h f a FunBodyL -> Cxt h f a FunDefL
- jFunName :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunName :<: f => Cxt h f a NameL -> Cxt h f a [NameL] -> Cxt h f a (Maybe NameL) -> Cxt h f a FunNameL
- jName :: forall {f :: Fragment} {h} {a :: Type -> Type}. Name :<: f => Text -> Cxt h f a NameL
- jPEVar :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExp :<: f => Cxt h f a VarL -> Cxt h f a PrefixExpL
- jPEFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExp :<: f => Cxt h f a FunCallL -> Cxt h f a PrefixExpL
- jFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a FunCallL -> Cxt h f a StatL
- jLabel :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a StatL
- jGoto :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a StatL
- jDo :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a BlockL -> Cxt h f a StatL
- jRepeat :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a BlockL -> Cxt h f a ExpL -> Cxt h f a StatL
- jIf :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a [(ExpL, BlockL)] -> Cxt h f a (Maybe BlockL) -> Cxt h f a StatL
- jForRange :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a (Maybe ExpL) -> Cxt h f a BlockL -> Cxt h f a StatL
- jForIn :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a [ExpL] -> Cxt h f a BlockL -> Cxt h f a StatL
- jFunAssign :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a FunNameL -> Cxt h f a FunBodyL -> Cxt h f a StatL
- jLocalFunAssign :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a FunBodyL -> Cxt h f a StatL
- jLocalAssign :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a (Maybe [ExpL]) -> Cxt h f a StatL
- jEmptyStat :: forall h (f :: Fragment) (a :: Type -> Type). Stat :<: f => Cxt h f a StatL
- jTable :: forall {f :: Fragment} {h} {a :: Type -> Type}. Table :<: f => Cxt h f a [TableFieldL] -> Cxt h f a TableL
- jExpField :: forall {f :: Fragment} {h} {a :: Type -> Type}. TableField :<: f => Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a TableFieldL
- jNamedField :: forall {f :: Fragment} {h} {a :: Type -> Type}. TableField :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a TableFieldL
- jField :: forall {f :: Fragment} {h} {a :: Type -> Type}. TableField :<: f => Cxt h f a ExpL -> Cxt h f a TableFieldL
- jNeg :: forall h (f :: Fragment) (a :: Type -> Type). Unop :<: f => Cxt h f a UnopL
- jLen :: forall h (f :: Fragment) (a :: Type -> Type). Unop :<: f => Cxt h f a UnopL
- jVarName :: forall {f :: Fragment} {h} {a :: Type -> Type}. Var :<: f => Cxt h f a NameL -> Cxt h f a VarL
- jSelect :: forall {f :: Fragment} {h} {a :: Type -> Type}. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL -> Cxt h f a VarL
- jSelectName :: forall {f :: Fragment} {h} {a :: Type -> Type}. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a VarL
- jIntNum :: forall h (f :: Fragment) (a :: Type -> Type). NumberType :<: f => Cxt h f a NumberTypeL
- jFloatNum :: forall h (f :: Fragment) (a :: Type -> Type). NumberType :<: f => Cxt h f a NumberTypeL
- pattern Exp' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern Concat' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern LT' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern LTE' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern GT' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern GTE' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern EQ' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern NEQ' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern ShiftL' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern ShiftR' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern BAnd' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern BOr' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern BXor' :: forall h f a j. Binop :<: f => Cxt h f a BinopL
- pattern Nil' :: forall h f a j. Exp :<: f => Cxt h f a ExpL
- pattern Number' :: forall h f a j. Exp :<: f => Cxt h f a NumberTypeL -> Text -> Cxt h f a ExpL
- pattern String' :: forall h f a j. Exp :<: f => Text -> Cxt h f a ExpL
- pattern Vararg' :: forall h f a j. Exp :<: f => Cxt h f a ExpL
- pattern EFunDef' :: forall h f a j. Exp :<: f => Cxt h f a FunDefL -> Cxt h f a ExpL
- pattern PrefixExp' :: forall h f a j. Exp :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL
- pattern TableConst' :: forall h f a j. Exp :<: f => Cxt h f a TableL -> Cxt h f a ExpL
- pattern Binop' :: forall h f a j. Exp :<: f => Cxt h f a BinopL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a ExpL
- pattern Unop' :: forall h f a j. Exp :<: f => Cxt h f a UnopL -> Cxt h f a ExpL -> Cxt h f a ExpL
- pattern Args' :: forall h f a j. FunArg :<: f => Cxt h f a [ExpL] -> Cxt h f a FunArgL
- pattern TableArg' :: forall h f a j. FunArg :<: f => Cxt h f a TableL -> Cxt h f a FunArgL
- pattern StringArg' :: forall h f a j. FunArg :<: f => Text -> Cxt h f a FunArgL
- pattern NormalFunCall' :: forall h f a j. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunArgL -> Cxt h f a FunCallL
- pattern MethodCall' :: forall h f a j. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a FunArgL -> Cxt h f a FunCallL
- pattern FunDef' :: forall h f a j. FunDef :<: f => Cxt h f a FunBodyL -> Cxt h f a FunDefL
- pattern FunName' :: forall h f a j. FunName :<: f => Cxt h f a NameL -> Cxt h f a [NameL] -> Cxt h f a (Maybe NameL) -> Cxt h f a FunNameL
- pattern Name' :: forall h f a j. Name :<: f => Text -> Cxt h f a NameL
- pattern PEVar' :: forall h f a j. PrefixExp :<: f => Cxt h f a VarL -> Cxt h f a PrefixExpL
- pattern PEFunCall' :: forall h f a j. PrefixExp :<: f => Cxt h f a FunCallL -> Cxt h f a PrefixExpL
- pattern FunCall' :: forall h f a j. Stat :<: f => Cxt h f a FunCallL -> Cxt h f a StatL
- pattern Label' :: forall h f a j. Stat :<: f => Cxt h f a NameL -> Cxt h f a StatL
- pattern Goto' :: forall h f a j. Stat :<: f => Cxt h f a NameL -> Cxt h f a StatL
- pattern Do' :: forall h f a j. Stat :<: f => Cxt h f a BlockL -> Cxt h f a StatL
- pattern Repeat' :: forall h f a j. Stat :<: f => Cxt h f a BlockL -> Cxt h f a ExpL -> Cxt h f a StatL
- pattern If' :: forall h f a j. Stat :<: f => Cxt h f a [(ExpL, BlockL)] -> Cxt h f a (Maybe BlockL) -> Cxt h f a StatL
- pattern ForRange' :: forall h f a j. Stat :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a (Maybe ExpL) -> Cxt h f a BlockL -> Cxt h f a StatL
- pattern ForIn' :: forall h f a j. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a [ExpL] -> Cxt h f a BlockL -> Cxt h f a StatL
- pattern FunAssign' :: forall h f a j. Stat :<: f => Cxt h f a FunNameL -> Cxt h f a FunBodyL -> Cxt h f a StatL
- pattern LocalFunAssign' :: forall h f a j. Stat :<: f => Cxt h f a NameL -> Cxt h f a FunBodyL -> Cxt h f a StatL
- pattern LocalAssign' :: forall h f a j. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a (Maybe [ExpL]) -> Cxt h f a StatL
- pattern EmptyStat' :: forall h f a j. Stat :<: f => Cxt h f a StatL
- pattern Table' :: forall h f a j. Table :<: f => Cxt h f a [TableFieldL] -> Cxt h f a TableL
- pattern ExpField' :: forall h f a j. TableField :<: f => Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a TableFieldL
- pattern NamedField' :: forall h f a j. TableField :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a TableFieldL
- pattern Field' :: forall h f a j. TableField :<: f => Cxt h f a ExpL -> Cxt h f a TableFieldL
- pattern Neg' :: forall h f a j. Unop :<: f => Cxt h f a UnopL
- pattern Len' :: forall h f a j. Unop :<: f => Cxt h f a UnopL
- pattern VarName' :: forall h f a j. Var :<: f => Cxt h f a NameL -> Cxt h f a VarL
- pattern Select' :: forall h f a j. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL -> Cxt h f a VarL
- pattern SelectName' :: forall h f a j. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a VarL
- pattern IntNum' :: forall h f a j. NumberType :<: f => Cxt h f a NumberTypeL
- pattern FloatNum' :: forall h f a j. NumberType :<: f => Cxt h f a NumberTypeL
- iExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iConcat :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iLT :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iLTE :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iGT :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iGTE :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iEQ :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iNEQ :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iShiftL :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iShiftR :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iBAnd :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iBOr :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iBXor :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j
- iNil :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a j
- iNumber :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a NumberTypeL -> Text -> CxtS h fs a j
- iString :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => Text -> CxtS h fs a j
- iVararg :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a j
- iEFunDef :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a FunDefL -> CxtS h fs a j
- iPrefixExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a PrefixExpL -> CxtS h fs a j
- iTableConst :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a TableL -> CxtS h fs a j
- iBinop :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a BinopL -> CxtS h fs a ExpL -> CxtS h fs a ExpL -> CxtS h fs a j
- iUnop :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a UnopL -> CxtS h fs a ExpL -> CxtS h fs a j
- iArgs :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunArg :-<: fs, InjF fs FunArgL j) => CxtS h fs a [ExpL] -> CxtS h fs a j
- iTableArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunArg :-<: fs, InjF fs FunArgL j) => CxtS h fs a TableL -> CxtS h fs a j
- iStringArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunArg :-<: fs, InjF fs FunArgL j) => Text -> CxtS h fs a j
- iNormalFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunCall :-<: fs, InjF fs FunCallL j) => CxtS h fs a PrefixExpL -> CxtS h fs a FunArgL -> CxtS h fs a j
- iMethodCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunCall :-<: fs, InjF fs FunCallL j) => CxtS h fs a PrefixExpL -> CxtS h fs a NameL -> CxtS h fs a FunArgL -> CxtS h fs a j
- iFunDef :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunDef :-<: fs, InjF fs FunDefL j) => CxtS h fs a FunBodyL -> CxtS h fs a j
- iFunName :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunName :-<: fs, InjF fs FunNameL j) => CxtS h fs a NameL -> CxtS h fs a [NameL] -> CxtS h fs a (Maybe NameL) -> CxtS h fs a j
- iPEVar :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExp :-<: fs, InjF fs PrefixExpL j) => CxtS h fs a VarL -> CxtS h fs a j
- iPEFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExp :-<: fs, InjF fs PrefixExpL j) => CxtS h fs a FunCallL -> CxtS h fs a j
- iFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a FunCallL -> CxtS h fs a j
- iLabel :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a j
- iGoto :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a j
- iDo :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a BlockL -> CxtS h fs a j
- iRepeat :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a BlockL -> CxtS h fs a ExpL -> CxtS h fs a j
- iIf :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a [(ExpL, BlockL)] -> CxtS h fs a (Maybe BlockL) -> CxtS h fs a j
- iForRange :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a ExpL -> CxtS h fs a ExpL -> CxtS h fs a (Maybe ExpL) -> CxtS h fs a BlockL -> CxtS h fs a j
- iForIn :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a [NameL] -> CxtS h fs a [ExpL] -> CxtS h fs a BlockL -> CxtS h fs a j
- iFunAssign :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a FunNameL -> CxtS h fs a FunBodyL -> CxtS h fs a j
- iLocalFunAssign :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a FunBodyL -> CxtS h fs a j
- iLocalAssign :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a [NameL] -> CxtS h fs a (Maybe [ExpL]) -> CxtS h fs a j
- iEmptyStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a j
- iTable :: forall h (fs :: Signature) (a :: Type -> Type) j. (Table :-<: fs, InjF fs TableL j) => CxtS h fs a [TableFieldL] -> CxtS h fs a j
- iExpField :: forall h (fs :: Signature) (a :: Type -> Type) j. (TableField :-<: fs, InjF fs TableFieldL j) => CxtS h fs a ExpL -> CxtS h fs a ExpL -> CxtS h fs a j
- iNamedField :: forall h (fs :: Signature) (a :: Type -> Type) j. (TableField :-<: fs, InjF fs TableFieldL j) => CxtS h fs a NameL -> CxtS h fs a ExpL -> CxtS h fs a j
- iField :: forall h (fs :: Signature) (a :: Type -> Type) j. (TableField :-<: fs, InjF fs TableFieldL j) => CxtS h fs a ExpL -> CxtS h fs a j
- iNeg :: forall h (fs :: Signature) (a :: Type -> Type) j. (Unop :-<: fs, InjF fs UnopL j) => CxtS h fs a j
- iLen :: forall h (fs :: Signature) (a :: Type -> Type) j. (Unop :-<: fs, InjF fs UnopL j) => CxtS h fs a j
- iVarName :: forall h (fs :: Signature) (a :: Type -> Type) j. (Var :-<: fs, InjF fs VarL j) => CxtS h fs a NameL -> CxtS h fs a j
- iSelect :: forall h (fs :: Signature) (a :: Type -> Type) j. (Var :-<: fs, InjF fs VarL j) => CxtS h fs a PrefixExpL -> CxtS h fs a ExpL -> CxtS h fs a j
- iSelectName :: forall h (fs :: Signature) (a :: Type -> Type) j. (Var :-<: fs, InjF fs VarL j) => CxtS h fs a PrefixExpL -> CxtS h fs a NameL -> CxtS h fs a j
- iIntNum :: forall h (fs :: Signature) (a :: Type -> Type) j. (NumberType :-<: fs, InjF fs NumberTypeL j) => CxtS h fs a j
- iFloatNum :: forall h (fs :: Signature) (a :: Type -> Type) j. (NumberType :-<: fs, InjF fs NumberTypeL j) => CxtS h fs a j
- jFunBody :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunBody :<: f => Cxt h f a [NameL] -> Bool -> Cxt h f a BlockL -> Cxt h f a FunBodyL
- pattern FunBody' :: forall h f a j. FunBody :<: f => Cxt h f a [NameL] -> Bool -> Cxt h f a BlockL -> Cxt h f a FunBodyL
- iFunBody :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunBody :-<: fs, InjF fs FunBodyL j) => CxtS h fs a [NameL] -> Bool -> CxtS h fs a BlockL -> CxtS h fs a j
- module Cubix.Language.Parametric.Syntax
- type LBlock = Block
- type LBlockL = BlockL
Documentation
type MLuaSig = '[Binop, Exp, FunDef, FunName, PrefixExp, Stat, Table, TableField, Unop, Var, NumberType, PairF, ListF, MaybeF, UnitF, FunBody, LuaLocalVarInit, LuaLhs, LuaRhs, LuaBlockEnd, LuaSpecialFunArg, LuaFunctionDefinedObj, LuaFunctionAttrs, LuaVarArgsParam, IdentIsName, AssignIsStat, BlockIsBlock, StatIsBlockItem, SingleLocalVarDeclIsStat, FunctionCallIsFunCall, ExpIsPositionalArgExp, PrefixExpIsFunctionExp, PrefixExpIsReceiver, FunctionDefIsStat, BlockIsFunctionBody, ExpressionIsExp, ExpIsExpression, OptLocalVarInit, SingleLocalVarDecl, Ident, AssignOpEquals, Assign, Block, TupleBinder, EmptyLocalVarDeclAttrs, FunctionCall, EmptyFunctionCallAttrs, FunctionArgumentList, PositionalArgument, ReceiverArg, FunctionIdent, FunctionDef, EmptyFunctionDefAttrs, SelfParameter, PositionalParameter, EmptyParameterAttrs, UnaryMinusOp, ComplementOp, LogicalNegationOp, ArithBinOp, DivOp, ModOp, IDivOp, ExpOp, BitwiseBinOp, LogicalBinOp, LogicalShrOp, ShlOp, RelationalBinOp, Operator] Source #
type MLuaTermLab = TermLab MLuaSig Source #
data LuaLocalVarInit (e :: Type -> Type) l where Source #
Constructors
| LuaLocalVarInit :: forall (e :: Type -> Type). e [ExpL] -> LuaLocalVarInit e LocalVarInitL |
Instances
data LuaLhs (e :: Type -> Type) l where Source #
Instances
data LuaRhs (e :: Type -> Type) l where Source #
Instances
data LuaBlockEnd (e :: Type -> Type) l where Source #
Constructors
| LuaBlockEnd :: forall (e :: Type -> Type). e (Maybe [ExpL]) -> LuaBlockEnd e BlockEndL |
Instances
data LuaSpecialFunArg (e :: Type -> Type) l where Source #
Constructors
| LuaTableArg :: forall (e :: Type -> Type). e TableL -> LuaSpecialFunArg e FunctionArgumentsL | |
| LuaStringArg :: forall (e :: Type -> Type). String -> LuaSpecialFunArg e FunctionArgumentsL | |
| LuaReceiverAndTableArg :: forall (e :: Type -> Type). e PrefixExpL -> e TableL -> LuaSpecialFunArg e FunctionArgumentsL | |
| LuaReceiverAndStringArg :: forall (e :: Type -> Type). e PrefixExpL -> String -> LuaSpecialFunArg e FunctionArgumentsL |
Instances
data IdentIsName (e :: Type -> Type) i Source #
Constructors
| i ~ NameL => IdentIsName (e IdentL) |
Instances
data AssignIsStat (e :: Type -> Type) i Source #
Constructors
| i ~ StatL => AssignIsStat (e AssignL) |
Instances
data BlockIsBlock (e :: Type -> Type) i Source #
Constructors
| i ~ BlockL => BlockIsBlock (e BlockL) |
Instances
data StatIsBlockItem (e :: Type -> Type) i Source #
Constructors
| i ~ BlockItemL => StatIsBlockItem (e StatL) |
Instances
data SingleLocalVarDeclIsStat (e :: Type -> Type) i Source #
Constructors
| i ~ StatL => SingleLocalVarDeclIsStat (e SingleLocalVarDeclL) |
Instances
data FunctionCallIsFunCall (e :: Type -> Type) i Source #
Constructors
| i ~ FunCallL => FunctionCallIsFunCall (e FunctionCallL) |
Instances
data ExpIsPositionalArgExp (e :: Type -> Type) i Source #
Constructors
| i ~ PositionalArgExpL => ExpIsPositionalArgExp (e ExpL) |
Instances
data PrefixExpIsFunctionExp (e :: Type -> Type) i Source #
Constructors
| i ~ FunctionExpL => PrefixExpIsFunctionExp (e PrefixExpL) |
Instances
data PrefixExpIsReceiver (e :: Type -> Type) i Source #
Constructors
| i ~ ReceiverL => PrefixExpIsReceiver (e PrefixExpL) |
Instances
data LuaFunctionDefinedObjL Source #
Instances
| KDynCase LuaFunctionDefinedObj LuaFunctionDefinedObjL Source # | |
Defined in Cubix.Language.Lua.Parametric.Common.Types Methods kdyncase :: forall (e :: Family) b. LuaFunctionDefinedObj e b -> Maybe (b :~: LuaFunctionDefinedObjL) Source # | |
data LuaFunctionDefinedObj (e :: Type -> Type) l where Source #
Constructors
| LuaFunctionDefinedObj :: forall (e :: Type -> Type). e [IdentL] -> LuaFunctionDefinedObj e LuaFunctionDefinedObjL |
Instances
data LuaFunctionAttrs (e :: Type -> Type) l where Source #
Constructors
| LuaFunctionAttrs :: forall (e :: Type -> Type). e LuaFunctionDefinedObjL -> LuaFunctionAttrs e FunctionDefAttrsL |
Instances
data LuaVarArgsParam (a :: Family) b where Source #
Constructors
| LuaVarArgsParam :: forall (a :: Family). LuaVarArgsParam a FunctionParameterL |
Instances
data FunctionDefIsStat (e :: Type -> Type) i Source #
Constructors
| i ~ StatL => FunctionDefIsStat (e FunctionDefL) |
Instances
data BlockIsFunctionBody (e :: Type -> Type) i Source #
Constructors
| i ~ FunctionBodyL => BlockIsFunctionBody (e BlockL) |
Instances
data ExpressionIsExp (e :: Type -> Type) i Source #
Constructors
| i ~ ExpL => ExpressionIsExp (e ExpressionL) |
Instances
data ExpIsExpression (e :: Type -> Type) i Source #
Constructors
| i ~ ExpressionL => ExpIsExpression (e ExpL) |
Instances
iLuaLocalVarInit :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaLocalVarInit :-<: fs, InjF fs LocalVarInitL j) => CxtS h fs a [ExpL] -> CxtS h fs a j Source #
iLuaLhs :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaLhs :-<: fs, InjF fs LhsL j) => CxtS h fs a [VarL] -> CxtS h fs a j Source #
iLuaRhs :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaRhs :-<: fs, InjF fs RhsL j) => CxtS h fs a [ExpL] -> CxtS h fs a j Source #
iLuaBlockEnd :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaBlockEnd :-<: fs, InjF fs BlockEndL j) => CxtS h fs a (Maybe [ExpL]) -> CxtS h fs a j Source #
iAssignIsStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (AssignIsStat :-<: fs, InjF fs StatL j) => CxtS h fs a AssignL -> CxtS h fs a j Source #
iSingleLocalVarDeclIsStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (SingleLocalVarDeclIsStat :-<: fs, InjF fs StatL j) => CxtS h fs a SingleLocalVarDeclL -> CxtS h fs a j Source #
iFunctionCallIsFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunctionCallIsFunCall :-<: fs, InjF fs FunCallL j) => CxtS h fs a FunctionCallL -> CxtS h fs a j Source #
jLuaLocalVarInit :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaLocalVarInit :<: f => Cxt h f a [ExpL] -> Cxt h f a LocalVarInitL Source #
jLuaLhs :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaLhs :<: f => Cxt h f a [VarL] -> Cxt h f a LhsL Source #
jLuaRhs :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaRhs :<: f => Cxt h f a [ExpL] -> Cxt h f a RhsL Source #
jLuaBlockEnd :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaBlockEnd :<: f => Cxt h f a (Maybe [ExpL]) -> Cxt h f a BlockEndL Source #
jLuaTableArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => Cxt h f a TableL -> Cxt h f a FunctionArgumentsL Source #
jLuaStringArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => String -> Cxt h f a FunctionArgumentsL Source #
jLuaReceiverAndTableArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> Cxt h f a TableL -> Cxt h f a FunctionArgumentsL Source #
jLuaReceiverAndStringArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> String -> Cxt h f a FunctionArgumentsL Source #
pattern LuaLocalVarInit' :: forall h f a j. LuaLocalVarInit :<: f => Cxt h f a [ExpL] -> Cxt h f a LocalVarInitL Source #
pattern LuaBlockEnd' :: forall h f a j. LuaBlockEnd :<: f => Cxt h f a (Maybe [ExpL]) -> Cxt h f a BlockEndL Source #
pattern LuaTableArg' :: forall h f a j. LuaSpecialFunArg :<: f => Cxt h f a TableL -> Cxt h f a FunctionArgumentsL Source #
pattern LuaStringArg' :: forall h f a j. LuaSpecialFunArg :<: f => String -> Cxt h f a FunctionArgumentsL Source #
pattern LuaReceiverAndTableArg' :: forall h f a j. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> Cxt h f a TableL -> Cxt h f a FunctionArgumentsL Source #
pattern LuaReceiverAndStringArg' :: forall h f a j. LuaSpecialFunArg :<: f => Cxt h f a PrefixExpL -> String -> Cxt h f a FunctionArgumentsL Source #
iLuaTableArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => CxtS h fs a TableL -> CxtS h fs a j Source #
iLuaStringArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => String -> CxtS h fs a j Source #
iLuaReceiverAndTableArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => CxtS h fs a PrefixExpL -> CxtS h fs a TableL -> CxtS h fs a j Source #
iLuaReceiverAndStringArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaSpecialFunArg :-<: fs, InjF fs FunctionArgumentsL j) => CxtS h fs a PrefixExpL -> String -> CxtS h fs a j Source #
jIdentIsName :: forall {f :: Fragment} {h} {a :: Type -> Type}. IdentIsName :<: f => Cxt h f a IdentL -> Cxt h f a NameL Source #
jAssignIsStat :: forall {f :: Fragment} {h} {a :: Type -> Type}. AssignIsStat :<: f => Cxt h f a AssignL -> Cxt h f a StatL Source #
jBlockIsBlock :: forall {f :: Fragment} {h} {a :: Type -> Type}. BlockIsBlock :<: f => Cxt h f a BlockL -> Cxt h f a BlockL Source #
jStatIsBlockItem :: forall {f :: Fragment} {h} {a :: Type -> Type}. StatIsBlockItem :<: f => Cxt h f a StatL -> Cxt h f a BlockItemL Source #
jSingleLocalVarDeclIsStat :: forall {f :: Fragment} {h} {a :: Type -> Type}. SingleLocalVarDeclIsStat :<: f => Cxt h f a SingleLocalVarDeclL -> Cxt h f a StatL Source #
jFunctionCallIsFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunctionCallIsFunCall :<: f => Cxt h f a FunctionCallL -> Cxt h f a FunCallL Source #
jExpIsPositionalArgExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. ExpIsPositionalArgExp :<: f => Cxt h f a ExpL -> Cxt h f a PositionalArgExpL Source #
jPrefixExpIsFunctionExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExpIsFunctionExp :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunctionExpL Source #
jPrefixExpIsReceiver :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExpIsReceiver :<: f => Cxt h f a PrefixExpL -> Cxt h f a ReceiverL Source #
pattern IdentIsName' :: forall h f a j. IdentIsName :<: f => Cxt h f a IdentL -> Cxt h f a NameL Source #
pattern AssignIsStat' :: forall h f a j. AssignIsStat :<: f => Cxt h f a AssignL -> Cxt h f a StatL Source #
pattern BlockIsBlock' :: forall h f a j. BlockIsBlock :<: f => Cxt h f a BlockL -> Cxt h f a BlockL Source #
pattern StatIsBlockItem' :: forall h f a j. StatIsBlockItem :<: f => Cxt h f a StatL -> Cxt h f a BlockItemL Source #
pattern SingleLocalVarDeclIsStat' :: forall h f a j. SingleLocalVarDeclIsStat :<: f => Cxt h f a SingleLocalVarDeclL -> Cxt h f a StatL Source #
pattern FunctionCallIsFunCall' :: forall h f a j. FunctionCallIsFunCall :<: f => Cxt h f a FunctionCallL -> Cxt h f a FunCallL Source #
pattern ExpIsPositionalArgExp' :: forall h f a j. ExpIsPositionalArgExp :<: f => Cxt h f a ExpL -> Cxt h f a PositionalArgExpL Source #
pattern PrefixExpIsFunctionExp' :: forall h f a j. PrefixExpIsFunctionExp :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunctionExpL Source #
pattern PrefixExpIsReceiver' :: forall h f a j. PrefixExpIsReceiver :<: f => Cxt h f a PrefixExpL -> Cxt h f a ReceiverL Source #
iIdentIsName :: forall h (fs :: Signature) (a :: Type -> Type) j. (IdentIsName :-<: fs, InjF fs NameL j) => CxtS h fs a IdentL -> CxtS h fs a j Source #
iBlockIsBlock :: forall h (fs :: Signature) (a :: Type -> Type) j. (BlockIsBlock :-<: fs, InjF fs BlockL j) => CxtS h fs a BlockL -> CxtS h fs a j Source #
iStatIsBlockItem :: forall h (fs :: Signature) (a :: Type -> Type) j. (StatIsBlockItem :-<: fs, InjF fs BlockItemL j) => CxtS h fs a StatL -> CxtS h fs a j Source #
iExpIsPositionalArgExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (ExpIsPositionalArgExp :-<: fs, InjF fs PositionalArgExpL j) => CxtS h fs a ExpL -> CxtS h fs a j Source #
iPrefixExpIsFunctionExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExpIsFunctionExp :-<: fs, InjF fs FunctionExpL j) => CxtS h fs a PrefixExpL -> CxtS h fs a j Source #
iPrefixExpIsReceiver :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExpIsReceiver :-<: fs, InjF fs ReceiverL j) => CxtS h fs a PrefixExpL -> CxtS h fs a j Source #
jLuaFunctionDefinedObj :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaFunctionDefinedObj :<: f => Cxt h f a [IdentL] -> Cxt h f a LuaFunctionDefinedObjL Source #
pattern LuaFunctionDefinedObj' :: forall h f a j. LuaFunctionDefinedObj :<: f => Cxt h f a [IdentL] -> Cxt h f a LuaFunctionDefinedObjL Source #
iLuaFunctionDefinedObj :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaFunctionDefinedObj :-<: fs, InjF fs LuaFunctionDefinedObjL j) => CxtS h fs a [IdentL] -> CxtS h fs a j Source #
jLuaFunctionAttrs :: forall {f :: Fragment} {h} {a :: Type -> Type}. LuaFunctionAttrs :<: f => Cxt h f a LuaFunctionDefinedObjL -> Cxt h f a FunctionDefAttrsL Source #
pattern LuaFunctionAttrs' :: forall h f a j. LuaFunctionAttrs :<: f => Cxt h f a LuaFunctionDefinedObjL -> Cxt h f a FunctionDefAttrsL Source #
iLuaFunctionAttrs :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaFunctionAttrs :-<: fs, InjF fs FunctionDefAttrsL j) => CxtS h fs a LuaFunctionDefinedObjL -> CxtS h fs a j Source #
jLuaVarArgsParam :: forall h (f :: Fragment) (a :: Type -> Type). LuaVarArgsParam :<: f => Cxt h f a FunctionParameterL Source #
pattern LuaVarArgsParam' :: forall h f a j. LuaVarArgsParam :<: f => Cxt h f a FunctionParameterL Source #
iLuaVarArgsParam :: forall h (fs :: Signature) (a :: Type -> Type) j. (LuaVarArgsParam :-<: fs, InjF fs FunctionParameterL j) => CxtS h fs a j Source #
jFunctionDefIsStat :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunctionDefIsStat :<: f => Cxt h f a FunctionDefL -> Cxt h f a StatL Source #
jBlockIsFunctionBody :: forall {f :: Fragment} {h} {a :: Type -> Type}. BlockIsFunctionBody :<: f => Cxt h f a BlockL -> Cxt h f a FunctionBodyL Source #
pattern FunctionDefIsStat' :: forall h f a j. FunctionDefIsStat :<: f => Cxt h f a FunctionDefL -> Cxt h f a StatL Source #
pattern BlockIsFunctionBody' :: forall h f a j. BlockIsFunctionBody :<: f => Cxt h f a BlockL -> Cxt h f a FunctionBodyL Source #
iFunctionDefIsStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunctionDefIsStat :-<: fs, InjF fs StatL j) => CxtS h fs a FunctionDefL -> CxtS h fs a j Source #
iBlockIsFunctionBody :: forall h (fs :: Signature) (a :: Type -> Type) j. (BlockIsFunctionBody :-<: fs, InjF fs FunctionBodyL j) => CxtS h fs a BlockL -> CxtS h fs a j Source #
jExpressionIsExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. ExpressionIsExp :<: f => Cxt h f a ExpressionL -> Cxt h f a ExpL Source #
jExpIsExpression :: forall {f :: Fragment} {h} {a :: Type -> Type}. ExpIsExpression :<: f => Cxt h f a ExpL -> Cxt h f a ExpressionL Source #
pattern ExpressionIsExp' :: forall h f a j. ExpressionIsExp :<: f => Cxt h f a ExpressionL -> Cxt h f a ExpL Source #
pattern ExpIsExpression' :: forall h f a j. ExpIsExpression :<: f => Cxt h f a ExpL -> Cxt h f a ExpressionL Source #
iExpressionIsExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (ExpressionIsExp :-<: fs, InjF fs ExpL j) => CxtS h fs a ExpressionL -> CxtS h fs a j Source #
iExpIsExpression :: forall h (fs :: Signature) (a :: Type -> Type) j. (ExpIsExpression :-<: fs, InjF fs ExpressionL j) => CxtS h fs a ExpL -> CxtS h fs a j Source #
untranslate :: MLuaTerm l -> LuaTerm l Source #
data Exp (e :: Type -> Type) i Source #
Constructors
| i ~ ExpL => Nil | |
| i ~ ExpL => Bool Bool | |
| i ~ ExpL => Number (e NumberTypeL) Text | |
| i ~ ExpL => String Text | |
| i ~ ExpL => Vararg | |
| i ~ ExpL => EFunDef (e FunDefL) | |
| i ~ ExpL => PrefixExp (e PrefixExpL) | |
| i ~ ExpL => TableConst (e TableL) | |
| i ~ ExpL => Binop (e BinopL) (e ExpL) (e ExpL) | |
| i ~ ExpL => Unop (e UnopL) (e ExpL) |
Instances
data Binop (e :: Type -> Type) i Source #
Constructors
| i ~ BinopL => Exp | |
| i ~ BinopL => Concat | |
| i ~ BinopL => LT | |
| i ~ BinopL => LTE | |
| i ~ BinopL => GT | |
| i ~ BinopL => GTE | |
| i ~ BinopL => EQ | |
| i ~ BinopL => NEQ | |
| i ~ BinopL => And | |
| i ~ BinopL => Or | |
| i ~ BinopL => ShiftL | |
| i ~ BinopL => ShiftR | |
| i ~ BinopL => BAnd | |
| i ~ BinopL => BOr | |
| i ~ BinopL => BXor |
Instances
data Stat (e :: Type -> Type) i Source #
Constructors
| i ~ StatL => FunCall (e FunCallL) | |
| i ~ StatL => Label (e NameL) | |
| i ~ StatL => Break | |
| i ~ StatL => Goto (e NameL) | |
| i ~ StatL => Do (e BlockL) | |
| i ~ StatL => While (e ExpL) (e BlockL) | |
| i ~ StatL => Repeat (e BlockL) (e ExpL) | |
| i ~ StatL => If (e [(ExpL, BlockL)]) (e (Maybe BlockL)) | |
| i ~ StatL => ForRange (e NameL) (e ExpL) (e ExpL) (e (Maybe ExpL)) (e BlockL) | |
| i ~ StatL => ForIn (e [NameL]) (e [ExpL]) (e BlockL) | |
| i ~ StatL => FunAssign (e FunNameL) (e FunBodyL) | |
| i ~ StatL => LocalFunAssign (e NameL) (e FunBodyL) | |
| i ~ StatL => LocalAssign (e [NameL]) (e (Maybe [ExpL])) | |
| i ~ StatL => EmptyStat |
Instances
data Table (e :: Type -> Type) i Source #
Constructors
| i ~ TableL => Table (e [TableFieldL]) |
Instances
data Var (e :: Type -> Type) i Source #
Constructors
| i ~ VarL => VarName (e NameL) | |
| i ~ VarL => Select (e PrefixExpL) (e ExpL) | |
| i ~ VarL => SelectName (e PrefixExpL) (e NameL) |
Instances
Instances
Instances
data FunCall (e :: Type -> Type) i Source #
Constructors
| i ~ FunCallL => NormalFunCall (e PrefixExpL) (e FunArgL) | |
| i ~ FunCallL => MethodCall (e PrefixExpL) (e NameL) (e FunArgL) |
Instances
| ConstrNameHF FunCall Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types | |
| ShowHF FunCall Source # | |
| EqHF FunCall Source # | |
| HFoldable FunCall Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types Methods hfold :: Monoid m => FunCall (K m) :=> m Source # hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> FunCall a :=> m Source # hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> FunCall a :=> b Source # hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> FunCall a :=> b Source # | |
| HFunctor FunCall Source # | |
| HTraversable FunCall Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types | |
| OrdHF FunCall Source # | |
| KDynCase FunCall FunCallL Source # | |
| type IsSortInjection FunCall Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types | |
data FunBody (e :: Type -> Type) l where Source #
TAG_LUA_FUNBODY_EXCEPTION This replaces FunBody in the original AST
Constructors
| FunBody :: forall (e :: Type -> Type). e [NameL] -> Bool -> e BlockL -> FunBody e FunBodyL |
Instances
data NumberType (e :: Type -> Type) i Source #
Constructors
| i ~ NumberTypeL => IntNum | |
| i ~ NumberTypeL => FloatNum |
Instances
data PrefixExp (e :: Type -> Type) i Source #
Constructors
| i ~ PrefixExpL => PEVar (e VarL) | |
| i ~ PrefixExpL => PEFunCall (e FunCallL) | |
| i ~ PrefixExpL => Paren (e ExpL) |
Instances
data Unop (e :: Type -> Type) i Source #
Instances
data FunArg (e :: Type -> Type) i Source #
Constructors
| i ~ FunArgL => Args (e [ExpL]) | |
| i ~ FunArgL => TableArg (e TableL) | |
| i ~ FunArgL => StringArg Text |
Instances
| ConstrNameHF FunArg Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types | |
| ShowHF FunArg Source # | |
| EqHF FunArg Source # | |
| HFoldable FunArg Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types Methods hfold :: Monoid m => FunArg (K m) :=> m Source # hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> FunArg a :=> m Source # hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> FunArg a :=> b Source # hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> FunArg a :=> b Source # | |
| HFunctor FunArg Source # | |
| HTraversable FunArg Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types | |
| OrdHF FunArg Source # | |
| KDynCase FunArg FunArgL Source # | |
| type IsSortInjection FunArg Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types | |
data FunDef (e :: Type -> Type) i Source #
Instances
data FunName (e :: Type -> Type) i Source #
Instances
data TableField (e :: Type -> Type) i Source #
Constructors
| i ~ TableFieldL => ExpField (e ExpL) (e ExpL) | |
| i ~ TableFieldL => NamedField (e NameL) (e ExpL) | |
| i ~ TableFieldL => Field (e ExpL) |
Instances
jBool :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Bool -> Cxt h f a ExpL Source #
jParen :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExp :<: f => Cxt h f a ExpL -> Cxt h f a PrefixExpL Source #
jWhile :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a ExpL -> Cxt h f a BlockL -> Cxt h f a StatL Source #
pattern Paren' :: forall h f a j. PrefixExp :<: f => Cxt h f a ExpL -> Cxt h f a PrefixExpL Source #
pattern While' :: forall h f a j. Stat :<: f => Cxt h f a ExpL -> Cxt h f a BlockL -> Cxt h f a StatL Source #
iBool :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => Bool -> CxtS h fs a j Source #
iParen :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExp :-<: fs, InjF fs PrefixExpL j) => CxtS h fs a ExpL -> CxtS h fs a j Source #
iAnd :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iOr :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iWhile :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a ExpL -> CxtS h fs a BlockL -> CxtS h fs a j Source #
iBreak :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a j Source #
luaSigNames :: [Name] Source #
type LuaSig = '[Binop, Block, Exp, FunArg, FunCall, FunDef, FunName, Name, PrefixExp, Stat, Table, TableField, Unop, Var, NumberType, PairF, ListF, MaybeF, UnitF, FunBody] Source #
type LuaTermLab l = TermLab LuaSig l Source #
Instances
Instances
data NumberTypeL Source #
Instances
| KDynCase NumberType NumberTypeL Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types Methods kdyncase :: forall (e :: Family) b. NumberType e b -> Maybe (b :~: NumberTypeL) Source # | |
| type Targ NumberTypeL Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Trans | |
Instances
data PrefixExpL Source #
Instances
Instances
Instances
Instances
| KDynCase FunctionCallIsFunCall FunCallL Source # | |
Defined in Cubix.Language.Lua.Parametric.Common.Types | |
| KDynCase FunCall FunCallL Source # | |
| (FunctionCallIsFunCall :-<: fs, All HFunctor fs) => InjF fs FunctionCallL FunCallL Source # | |
Defined in Cubix.Language.Lua.Parametric.Common.Types Methods injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionCallL -> CxtS h fs a FunCallL Source # projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunCallL -> Maybe (Cxt h (Sum fs :&: p) a FunctionCallL) Source # projF :: forall h (a :: Type -> Type). CxtS h fs a FunCallL -> Maybe (CxtS h fs a FunctionCallL) Source # | |
| type Targ FunCallL Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Trans | |
Instances
| KDynCase Var VarL Source # | |
| InjF MLuaSig [VarL] LhsL Source # | |
Defined in Cubix.Language.Lua.Parametric.Common.Types Methods injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a [VarL] -> CxtS h MLuaSig a LhsL Source # projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a [VarL]) Source # projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LhsL -> Maybe (CxtS h MLuaSig a [VarL]) Source # | |
| type Targ VarL Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Trans | |
data TableFieldL Source #
Instances
| KDynCase TableField TableFieldL Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Types Methods kdyncase :: forall (e :: Family) b. TableField e b -> Maybe (b :~: TableFieldL) Source # | |
| type Targ TableFieldL Source # | |
Defined in Cubix.Language.Lua.Parametric.Full.Trans | |
jNumber :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a NumberTypeL -> Text -> Cxt h f a ExpL Source #
jString :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Text -> Cxt h f a ExpL Source #
jEFunDef :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a FunDefL -> Cxt h f a ExpL Source #
jPrefixExp :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL Source #
jTableConst :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a TableL -> Cxt h f a ExpL Source #
jBinop :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a BinopL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a ExpL Source #
jUnop :: forall {f :: Fragment} {h} {a :: Type -> Type}. Exp :<: f => Cxt h f a UnopL -> Cxt h f a ExpL -> Cxt h f a ExpL Source #
jArgs :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunArg :<: f => Cxt h f a [ExpL] -> Cxt h f a FunArgL Source #
jTableArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunArg :<: f => Cxt h f a TableL -> Cxt h f a FunArgL Source #
jStringArg :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunArg :<: f => Text -> Cxt h f a FunArgL Source #
jNormalFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunArgL -> Cxt h f a FunCallL Source #
jMethodCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a FunArgL -> Cxt h f a FunCallL Source #
jFunDef :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunDef :<: f => Cxt h f a FunBodyL -> Cxt h f a FunDefL Source #
jFunName :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunName :<: f => Cxt h f a NameL -> Cxt h f a [NameL] -> Cxt h f a (Maybe NameL) -> Cxt h f a FunNameL Source #
jName :: forall {f :: Fragment} {h} {a :: Type -> Type}. Name :<: f => Text -> Cxt h f a NameL Source #
jPEVar :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExp :<: f => Cxt h f a VarL -> Cxt h f a PrefixExpL Source #
jPEFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. PrefixExp :<: f => Cxt h f a FunCallL -> Cxt h f a PrefixExpL Source #
jFunCall :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a FunCallL -> Cxt h f a StatL Source #
jLabel :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a StatL Source #
jGoto :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a StatL Source #
jDo :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a BlockL -> Cxt h f a StatL Source #
jRepeat :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a BlockL -> Cxt h f a ExpL -> Cxt h f a StatL Source #
jIf :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a [(ExpL, BlockL)] -> Cxt h f a (Maybe BlockL) -> Cxt h f a StatL Source #
jForRange :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a (Maybe ExpL) -> Cxt h f a BlockL -> Cxt h f a StatL Source #
jForIn :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a [ExpL] -> Cxt h f a BlockL -> Cxt h f a StatL Source #
jFunAssign :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a FunNameL -> Cxt h f a FunBodyL -> Cxt h f a StatL Source #
jLocalFunAssign :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a NameL -> Cxt h f a FunBodyL -> Cxt h f a StatL Source #
jLocalAssign :: forall {f :: Fragment} {h} {a :: Type -> Type}. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a (Maybe [ExpL]) -> Cxt h f a StatL Source #
jTable :: forall {f :: Fragment} {h} {a :: Type -> Type}. Table :<: f => Cxt h f a [TableFieldL] -> Cxt h f a TableL Source #
jExpField :: forall {f :: Fragment} {h} {a :: Type -> Type}. TableField :<: f => Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a TableFieldL Source #
jNamedField :: forall {f :: Fragment} {h} {a :: Type -> Type}. TableField :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a TableFieldL Source #
jField :: forall {f :: Fragment} {h} {a :: Type -> Type}. TableField :<: f => Cxt h f a ExpL -> Cxt h f a TableFieldL Source #
jVarName :: forall {f :: Fragment} {h} {a :: Type -> Type}. Var :<: f => Cxt h f a NameL -> Cxt h f a VarL Source #
jSelect :: forall {f :: Fragment} {h} {a :: Type -> Type}. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL -> Cxt h f a VarL Source #
jSelectName :: forall {f :: Fragment} {h} {a :: Type -> Type}. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a VarL Source #
jIntNum :: forall h (f :: Fragment) (a :: Type -> Type). NumberType :<: f => Cxt h f a NumberTypeL Source #
jFloatNum :: forall h (f :: Fragment) (a :: Type -> Type). NumberType :<: f => Cxt h f a NumberTypeL Source #
pattern Number' :: forall h f a j. Exp :<: f => Cxt h f a NumberTypeL -> Text -> Cxt h f a ExpL Source #
pattern PrefixExp' :: forall h f a j. Exp :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL Source #
pattern Binop' :: forall h f a j. Exp :<: f => Cxt h f a BinopL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a ExpL Source #
pattern Unop' :: forall h f a j. Exp :<: f => Cxt h f a UnopL -> Cxt h f a ExpL -> Cxt h f a ExpL Source #
pattern NormalFunCall' :: forall h f a j. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a FunArgL -> Cxt h f a FunCallL Source #
pattern MethodCall' :: forall h f a j. FunCall :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a FunArgL -> Cxt h f a FunCallL Source #
pattern FunName' :: forall h f a j. FunName :<: f => Cxt h f a NameL -> Cxt h f a [NameL] -> Cxt h f a (Maybe NameL) -> Cxt h f a FunNameL Source #
pattern PEVar' :: forall h f a j. PrefixExp :<: f => Cxt h f a VarL -> Cxt h f a PrefixExpL Source #
pattern PEFunCall' :: forall h f a j. PrefixExp :<: f => Cxt h f a FunCallL -> Cxt h f a PrefixExpL Source #
pattern Repeat' :: forall h f a j. Stat :<: f => Cxt h f a BlockL -> Cxt h f a ExpL -> Cxt h f a StatL Source #
pattern If' :: forall h f a j. Stat :<: f => Cxt h f a [(ExpL, BlockL)] -> Cxt h f a (Maybe BlockL) -> Cxt h f a StatL Source #
pattern ForRange' :: forall h f a j. Stat :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a (Maybe ExpL) -> Cxt h f a BlockL -> Cxt h f a StatL Source #
pattern ForIn' :: forall h f a j. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a [ExpL] -> Cxt h f a BlockL -> Cxt h f a StatL Source #
pattern FunAssign' :: forall h f a j. Stat :<: f => Cxt h f a FunNameL -> Cxt h f a FunBodyL -> Cxt h f a StatL Source #
pattern LocalFunAssign' :: forall h f a j. Stat :<: f => Cxt h f a NameL -> Cxt h f a FunBodyL -> Cxt h f a StatL Source #
pattern LocalAssign' :: forall h f a j. Stat :<: f => Cxt h f a [NameL] -> Cxt h f a (Maybe [ExpL]) -> Cxt h f a StatL Source #
pattern Table' :: forall h f a j. Table :<: f => Cxt h f a [TableFieldL] -> Cxt h f a TableL Source #
pattern ExpField' :: forall h f a j. TableField :<: f => Cxt h f a ExpL -> Cxt h f a ExpL -> Cxt h f a TableFieldL Source #
pattern NamedField' :: forall h f a j. TableField :<: f => Cxt h f a NameL -> Cxt h f a ExpL -> Cxt h f a TableFieldL Source #
pattern Field' :: forall h f a j. TableField :<: f => Cxt h f a ExpL -> Cxt h f a TableFieldL Source #
pattern Select' :: forall h f a j. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a ExpL -> Cxt h f a VarL Source #
pattern SelectName' :: forall h f a j. Var :<: f => Cxt h f a PrefixExpL -> Cxt h f a NameL -> Cxt h f a VarL Source #
pattern IntNum' :: forall h f a j. NumberType :<: f => Cxt h f a NumberTypeL Source #
pattern FloatNum' :: forall h f a j. NumberType :<: f => Cxt h f a NumberTypeL Source #
iExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iConcat :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iLT :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iLTE :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iGT :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iGTE :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iEQ :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iNEQ :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iShiftL :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iShiftR :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iBAnd :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iBOr :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iBXor :: forall h (fs :: Signature) (a :: Type -> Type) j. (Binop :-<: fs, InjF fs BinopL j) => CxtS h fs a j Source #
iNil :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a j Source #
iNumber :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a NumberTypeL -> Text -> CxtS h fs a j Source #
iString :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => Text -> CxtS h fs a j Source #
iVararg :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a j Source #
iEFunDef :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a FunDefL -> CxtS h fs a j Source #
iPrefixExp :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a PrefixExpL -> CxtS h fs a j Source #
iTableConst :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a TableL -> CxtS h fs a j Source #
iBinop :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a BinopL -> CxtS h fs a ExpL -> CxtS h fs a ExpL -> CxtS h fs a j Source #
iUnop :: forall h (fs :: Signature) (a :: Type -> Type) j. (Exp :-<: fs, InjF fs ExpL j) => CxtS h fs a UnopL -> CxtS h fs a ExpL -> CxtS h fs a j Source #
iArgs :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunArg :-<: fs, InjF fs FunArgL j) => CxtS h fs a [ExpL] -> CxtS h fs a j Source #
iTableArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunArg :-<: fs, InjF fs FunArgL j) => CxtS h fs a TableL -> CxtS h fs a j Source #
iStringArg :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunArg :-<: fs, InjF fs FunArgL j) => Text -> CxtS h fs a j Source #
iNormalFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunCall :-<: fs, InjF fs FunCallL j) => CxtS h fs a PrefixExpL -> CxtS h fs a FunArgL -> CxtS h fs a j Source #
iMethodCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunCall :-<: fs, InjF fs FunCallL j) => CxtS h fs a PrefixExpL -> CxtS h fs a NameL -> CxtS h fs a FunArgL -> CxtS h fs a j Source #
iFunDef :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunDef :-<: fs, InjF fs FunDefL j) => CxtS h fs a FunBodyL -> CxtS h fs a j Source #
iFunName :: forall h (fs :: Signature) (a :: Type -> Type) j. (FunName :-<: fs, InjF fs FunNameL j) => CxtS h fs a NameL -> CxtS h fs a [NameL] -> CxtS h fs a (Maybe NameL) -> CxtS h fs a j Source #
iPEVar :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExp :-<: fs, InjF fs PrefixExpL j) => CxtS h fs a VarL -> CxtS h fs a j Source #
iPEFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (PrefixExp :-<: fs, InjF fs PrefixExpL j) => CxtS h fs a FunCallL -> CxtS h fs a j Source #
iFunCall :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a FunCallL -> CxtS h fs a j Source #
iLabel :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a j Source #
iGoto :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a j Source #
iDo :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a BlockL -> CxtS h fs a j Source #
iRepeat :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a BlockL -> CxtS h fs a ExpL -> CxtS h fs a j Source #
iIf :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a [(ExpL, BlockL)] -> CxtS h fs a (Maybe BlockL) -> CxtS h fs a j Source #
iForRange :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a ExpL -> CxtS h fs a ExpL -> CxtS h fs a (Maybe ExpL) -> CxtS h fs a BlockL -> CxtS h fs a j Source #
iForIn :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a [NameL] -> CxtS h fs a [ExpL] -> CxtS h fs a BlockL -> CxtS h fs a j Source #
iFunAssign :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a FunNameL -> CxtS h fs a FunBodyL -> CxtS h fs a j Source #
iLocalFunAssign :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a NameL -> CxtS h fs a FunBodyL -> CxtS h fs a j Source #
iLocalAssign :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a [NameL] -> CxtS h fs a (Maybe [ExpL]) -> CxtS h fs a j Source #
iEmptyStat :: forall h (fs :: Signature) (a :: Type -> Type) j. (Stat :-<: fs, InjF fs StatL j) => CxtS h fs a j Source #
iTable :: forall h (fs :: Signature) (a :: Type -> Type) j. (Table :-<: fs, InjF fs TableL j) => CxtS h fs a [TableFieldL] -> CxtS h fs a j Source #
iExpField :: forall h (fs :: Signature) (a :: Type -> Type) j. (TableField :-<: fs, InjF fs TableFieldL j) => CxtS h fs a ExpL -> CxtS h fs a ExpL -> CxtS h fs a j Source #
iNamedField :: forall h (fs :: Signature) (a :: Type -> Type) j. (TableField :-<: fs, InjF fs TableFieldL j) => CxtS h fs a NameL -> CxtS h fs a ExpL -> CxtS h fs a j Source #
iField :: forall h (fs :: Signature) (a :: Type -> Type) j. (TableField :-<: fs, InjF fs TableFieldL j) => CxtS h fs a ExpL -> CxtS h fs a j Source #
iNeg :: forall h (fs :: Signature) (a :: Type -> Type) j. (Unop :-<: fs, InjF fs UnopL j) => CxtS h fs a j Source #
iLen :: forall h (fs :: Signature) (a :: Type -> Type) j. (Unop :-<: fs, InjF fs UnopL j) => CxtS h fs a j Source #
iVarName :: forall h (fs :: Signature) (a :: Type -> Type) j. (Var :-<: fs, InjF fs VarL j) => CxtS h fs a NameL -> CxtS h fs a j Source #
iSelect :: forall h (fs :: Signature) (a :: Type -> Type) j. (Var :-<: fs, InjF fs VarL j) => CxtS h fs a PrefixExpL -> CxtS h fs a ExpL -> CxtS h fs a j Source #
iSelectName :: forall h (fs :: Signature) (a :: Type -> Type) j. (Var :-<: fs, InjF fs VarL j) => CxtS h fs a PrefixExpL -> CxtS h fs a NameL -> CxtS h fs a j Source #
iIntNum :: forall h (fs :: Signature) (a :: Type -> Type) j. (NumberType :-<: fs, InjF fs NumberTypeL j) => CxtS h fs a j Source #
iFloatNum :: forall h (fs :: Signature) (a :: Type -> Type) j. (NumberType :-<: fs, InjF fs NumberTypeL j) => CxtS h fs a j Source #
jFunBody :: forall {f :: Fragment} {h} {a :: Type -> Type}. FunBody :<: f => Cxt h f a [NameL] -> Bool -> Cxt h f a BlockL -> Cxt h f a FunBodyL Source #
pattern FunBody' :: forall h f a j. FunBody :<: f => Cxt h f a [NameL] -> Bool -> Cxt h f a BlockL -> Cxt h f a FunBodyL Source #