| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Drasil.GOOL.InterfaceGOOL
Synopsis
- type Program = ProgData
- type GSProgram a prg = GS (a prg)
- type File = FileData
- type Module = ModData
- type Class = Doc
- type StateVar = Doc
- type CSStateVar r svr = CS (r svr)
- type Initializers r = [(SVariable r, SValue r)]
- class (SharedProg r vis smt md, OOStatement r smt, ProgramSym r vis smt md svr att prg, ObserverPattern r smt, StrategyPattern r smt) => OOProg r vis smt md svr att prg
- class (SharedStatement r smt, GetSet r, InternalValueExp r, OOFuncAppStatement r smt, OOVariableValue r, OODeclStatement r smt, OOFuncAppStatement r smt, OOFunctionSym r, OOValueExpression r) => OOStatement r smt
- class FileSym r vis smt md svr att => ProgramSym r vis smt md svr att prg | r -> prg where
- class ModuleSym r vis smt md svr att => FileSym r vis smt md svr att where
- class ClassSym r vis smt md svr att => ModuleSym r vis smt md svr att where
- class (OOMethodSym r vis smt md att, StateVarSym r vis svr att) => ClassSym r vis smt md svr att where
- buildClass :: Maybe Label -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class)
- extraClass :: Label -> Maybe Label -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class)
- implementingClass :: Label -> [Label] -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class)
- docClass :: String -> CS (r Class) -> CS (r Class)
- class TypeSym r => OOTypeSym r where
- class (VariableSym r, OOTypeSym r) => OOVariableSym r where
- ($->) :: OOVariableSym r => SValue r -> SVariable r -> SVariable r
- class OOVariableSym r => SelfSym r where
- instanceVarSelf :: (SelfSym r, VariableValue r) => SVariable r -> SVariable r
- class (ValueSym r, OOTypeSym r) => OOValueSym r
- class (VariableValue r, OOVariableSym r, SelfSym r) => OOVariableValue r
- class (ValueExpression r, OOVariableSym r, OOValueSym r) => OOValueExpression r where
- newObjMixedArgs :: MixedCtorCall r
- extNewObjMixedArgs :: Library -> MixedCtorCall r
- libNewObjMixedArgs :: Library -> MixedCtorCall r
- selfMethodCall :: (InternalValueExp r, VariableValue r, SelfSym r) => PosCall r
- newObj :: OOValueExpression r => PosCtorCall r
- extNewObj :: OOValueExpression r => Library -> PosCtorCall r
- libNewObj :: OOValueExpression r => Library -> PosCtorCall r
- class (DeclStatement r smt, OOVariableSym r) => OODeclStatement r smt where
- objDecNewNoParams :: OODeclStatement r smt => SVariable r -> r ScopeData -> MS (r smt)
- extObjDecNewNoParams :: OODeclStatement r smt => Library -> SVariable r -> r ScopeData -> MS (r smt)
- class (FuncAppStatement r smt, OOVariableSym r) => OOFuncAppStatement r smt where
- selfInOutCall :: InOutCall r smt
- class (ValueSym r, VariableSym r) => GetSet r where
- class ValueSym r => InternalValueExp r where
- objMethodCall :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> [SValue r] -> SValue r
- objMethodCallNamedArgs :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> NamedArgs r -> SValue r
- objMethodCallMixedArgs :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> [SValue r] -> NamedArgs r -> SValue r
- objMethodCallNoParams :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> SValue r
- classMethodCall :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> [SValue r] -> SValue r
- classMethodCallNamedArgs :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> NamedArgs r -> SValue r
- classMethodCallMixedArgs :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> [SValue r] -> NamedArgs r -> SValue r
- classMethodCallNoParams :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> SValue r
- class (MethodSym r vis smt md, AttachmentSym r att) => OOMethodSym r vis smt md att where
- method :: Label -> r vis -> r att -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md)
- getMethod :: SVariable r -> MS (r md)
- setMethod :: SVariable r -> MS (r md)
- constructor :: [MS (r ParamData)] -> Initializers r -> MS (r Body) -> MS (r md)
- inOutMethod :: Label -> r vis -> r att -> InOutFunc r md
- docInOutMethod :: Label -> r vis -> r att -> DocInOutFunc r md
- privMethod :: OOMethodSym r vis smt md att => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md)
- pubMethod :: OOMethodSym r vis smt md att => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md)
- initializer :: OOMethodSym r vis smt md att => [MS (r ParamData)] -> Initializers r -> MS (r md)
- nonInitConstructor :: OOMethodSym r vis smt md att => [MS (r ParamData)] -> MS (r Body) -> MS (r md)
- class (VisibilitySym r vis, AttachmentSym r att, VariableSym r) => StateVarSym r vis svr att | r -> svr where
- stateVar :: r vis -> r att -> SVariable r -> CSStateVar r svr
- stateVarDef :: r vis -> r att -> SVariable r -> SValue r -> CSStateVar r svr
- constVar :: r vis -> SVariable r -> SValue r -> CSStateVar r svr
- privDVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr
- pubDVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr
- pubSVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr
- class AttachmentSym r att | r -> att where
- classLevel :: r att
- instanceLevel :: r att
- class FunctionSym r => OOFunctionSym r where
- ($.) :: OOFunctionSym r => SValue r -> VS (r FuncData) -> SValue r
- selfAccess :: (OOVariableValue r, OOFunctionSym r) => VS (r FuncData) -> SValue r
- class (StatementSym r smt, OOFunctionSym r) => ObserverPattern r smt where
- observerListName :: Label
- initObserverList :: DeclStatement r smt => VS (r TypeData) -> [SValue r] -> r ScopeData -> MS (r smt)
- addObserver :: (OOVariableValue r, List r smt) => SValue r -> MS (r smt)
- class (BodySym r smt, VariableSym r) => StrategyPattern r smt where
- convTypeOO :: OOTypeSym r => CodeType -> VS (r TypeData)
Documentation
type CSStateVar r svr = CS (r svr) Source #
type Initializers r = [(SVariable r, SValue r)] Source #
class (SharedProg r vis smt md, OOStatement r smt, ProgramSym r vis smt md svr att prg, ObserverPattern r smt, StrategyPattern r smt) => OOProg r vis smt md svr att prg Source #
Instances
| OOProg CodeInfoOO () () () () () GOOLState Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
| OOProg CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| OOProg JavaCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer | |
| OOProg PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData ProgData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| OOProg SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer | |
| OOProg r vis smt md svr att prg => OOProg (LoggingFor r) vis smt md svr att prg Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor | |
class (SharedStatement r smt, GetSet r, InternalValueExp r, OOFuncAppStatement r smt, OOVariableValue r, OODeclStatement r smt, OOFuncAppStatement r smt, OOFunctionSym r, OOValueExpression r) => OOStatement r smt Source #
Instances
| OOStatement CodeInfoOO () Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
| OOStatement CSharpCode (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| OOStatement CppHdrCode (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OOStatement CppSrcCode (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OOStatement JavaCode (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer | |
| OOStatement PythonCode (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| OOStatement SwiftCode (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer | |
| (OOStatement r smt, VariableElim r) => OOStatement (LoggingFor r) smt Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor | |
| Pair p => OOStatement (p CppSrcCode CppHdrCode) (Doc, Terminator) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
class FileSym r vis smt md svr att => ProgramSym r vis smt md svr att prg | r -> prg where Source #
Instances
| ProgramSym CodeInfoOO () () () () () GOOLState Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
| ProgramSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| ProgramSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # | |
| ProgramSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData ProgData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| ProgramSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc ProgData Source # | |
| ProgramSym r vis smt md svr att prg => ProgramSym (LoggingFor r) vis smt md svr att prg Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor Methods prog :: Label -> Label -> [FS (LoggingFor r File)] -> GSProgram (LoggingFor r) prg Source # | |
class ModuleSym r vis smt md svr att => FileSym r vis smt md svr att where Source #
Methods
fileDoc :: FS (r Module) -> FS (r File) Source #
docMod :: String -> String -> [String] -> String -> FS (r File) -> FS (r File) Source #
Instances
| FileSym CodeInfoOO () () () () () Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
| FileSym CSharpCode Doc (Doc, Terminator) MethodData StateVar Doc Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| FileSym JavaCode Doc (Doc, Terminator) MethodData StateVar Doc Source # | |
| FileSym PythonCode Doc (Doc, Terminator) MethodData StateVar AttachmentData Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| FileSym SwiftCode Doc (Doc, Terminator) MethodData StateVar Doc Source # | |
| FileSym r vis smt md svr att => FileSym (LoggingFor r) vis smt md svr att Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor | |
class ClassSym r vis smt md svr att => ModuleSym r vis smt md svr att where Source #
Instances
class (OOMethodSym r vis smt md att, StateVarSym r vis svr att) => ClassSym r vis smt md svr att where Source #
Methods
buildClass :: Maybe Label -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class) Source #
Main external method for creating a class. Inputs: parent class, variables, constructor(s), methods
extraClass :: Label -> Maybe Label -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class) Source #
Creates an extra class. Inputs: class name, the rest are the same as buildClass.
implementingClass :: Label -> [Label] -> [CSStateVar r svr] -> [MS (r md)] -> [MS (r md)] -> CS (r Class) Source #
Creates a class implementing interfaces. Inputs: class name, interface names, variables, constructor(s), methods
Instances
class TypeSym r => OOTypeSym r where Source #
Instances
| OOTypeSym CodeInfoOO Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
| OOTypeSym CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| OOTypeSym CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OOTypeSym CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OOTypeSym JavaCode Source # | |
| OOTypeSym PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| OOTypeSym SwiftCode Source # | |
| OOTypeSym r => OOTypeSym (LoggingFor r) Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor | |
| Pair p => OOTypeSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods obj :: ClassName -> VS (p CppSrcCode CppHdrCode TypeData) Source # | |
class (VariableSym r, OOTypeSym r) => OOVariableSym r where Source #
Methods
classVar :: Label -> VS (r TypeData) -> SVariable r Source #
A class-level variable, separate from its class (i.e. v, not v)
classConst :: Label -> VS (r TypeData) -> SVariable r Source #
A class-level constant, separate from its class (i.e. v, not v)
classVarAccess :: VS (r TypeData) -> SVariable r -> SVariable r Source #
Given a class C and a class-level variable v, creates v
extClassVarAccess :: VS (r TypeData) -> SVariable r -> SVariable r Source #
Given a class C from an external module and a class-level variable v,
performs any necessary imports and creates v
instanceVarAccess :: SValue r -> SVariable r -> SVariable r Source #
Given an instance i and an instance-level variable v, creates `i.v`
Instances
class OOVariableSym r => SelfSym r where Source #
Instances
| SelfSym CodeInfoOO Source # | |
Defined in Drasil.GOOL.CodeInfoOO Methods | |
| SelfSym CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer Methods | |
| SelfSym CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods | |
| SelfSym CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods | |
| SelfSym JavaCode Source # | |
| SelfSym PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer Methods | |
| SelfSym SwiftCode Source # | |
| SelfSym r => SelfSym (LoggingFor r) Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor Methods self :: SVariable (LoggingFor r) Source # | |
| Pair p => SelfSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer Methods self :: SVariable (p CppSrcCode CppHdrCode) Source # | |
instanceVarSelf :: (SelfSym r, VariableValue r) => SVariable r -> SVariable r Source #
Given a variable v, creates `self.v`
class (ValueSym r, OOTypeSym r) => OOValueSym r Source #
Instances
| OOValueSym CodeInfoOO Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
| OOValueSym CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
| OOValueSym CppHdrCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OOValueSym CppSrcCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
| OOValueSym JavaCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer | |
| OOValueSym PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
| OOValueSym SwiftCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer | |
| OOValueSym r => OOValueSym (LoggingFor r) Source # | |
Defined in Drasil.Shared.LanguageRenderer.LoggingFor | |
| Pair p => OOValueSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer | |
class (VariableValue r, OOVariableSym r, SelfSym r) => OOVariableValue r Source #
Instances
class (ValueExpression r, OOVariableSym r, OOValueSym r) => OOValueExpression r where Source #
Methods
newObjMixedArgs :: MixedCtorCall r Source #
extNewObjMixedArgs :: Library -> MixedCtorCall r Source #
libNewObjMixedArgs :: Library -> MixedCtorCall r Source #
Instances
selfMethodCall :: (InternalValueExp r, VariableValue r, SelfSym r) => PosCall r Source #
newObj :: OOValueExpression r => PosCtorCall r Source #
extNewObj :: OOValueExpression r => Library -> PosCtorCall r Source #
libNewObj :: OOValueExpression r => Library -> PosCtorCall r Source #
class (DeclStatement r smt, OOVariableSym r) => OODeclStatement r smt where Source #
Methods
objDecDef :: SVariable r -> r ScopeData -> SValue r -> MS (r smt) Source #
objDecNew :: SVariable r -> r ScopeData -> [SValue r] -> MS (r smt) Source #
extObjDecNew :: Library -> SVariable r -> r ScopeData -> [SValue r] -> MS (r smt) Source #
Instances
objDecNewNoParams :: OODeclStatement r smt => SVariable r -> r ScopeData -> MS (r smt) Source #
extObjDecNewNoParams :: OODeclStatement r smt => Library -> SVariable r -> r ScopeData -> MS (r smt) Source #
class (FuncAppStatement r smt, OOVariableSym r) => OOFuncAppStatement r smt where Source #
Methods
selfInOutCall :: InOutCall r smt Source #
Instances
class (ValueSym r, VariableSym r) => GetSet r where Source #
Methods
get :: SValue r -> SVariable r -> SValue r Source #
set :: SValue r -> SVariable r -> SValue r -> SValue r Source #
Instances
class ValueSym r => InternalValueExp r where Source #
Methods
objMethodCallMixedArgs' :: Label -> VS (r TypeData) -> SValue r -> [SValue r] -> NamedArgs r -> SValue r Source #
Generic function for calling a method. Takes the function name, the return type, the object, a list of positional arguments, and a list of named arguments.
classMethodCallMixedArgs' :: Label -> VS (r TypeData) -> VS (r TypeData) -> [SValue r] -> NamedArgs r -> SValue r Source #
Generic function for calling a class method. Takes the function name, the return type, the class type, a list of positional arguments, and a list of named arguments.
Instances
objMethodCall :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> [SValue r] -> SValue r Source #
Calling a method. t is the return type of the method, o is the object, f is the method name, and ps is a list of positional arguments.
objMethodCallNamedArgs :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> NamedArgs r -> SValue r Source #
Calling a method with named arguments.
objMethodCallMixedArgs :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> [SValue r] -> NamedArgs r -> SValue r Source #
Calling a method with a mix of positional and named arguments.
objMethodCallNoParams :: InternalValueExp r => VS (r TypeData) -> SValue r -> Label -> SValue r Source #
Calling a method with no parameters.
classMethodCall :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> [SValue r] -> SValue r Source #
Calling a class method. t is the return type of the method, c is the class, f is the method name, and ps is a list of positional arguments.
classMethodCallNamedArgs :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> NamedArgs r -> SValue r Source #
Calling a class method with named arguments.
classMethodCallMixedArgs :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> [SValue r] -> NamedArgs r -> SValue r Source #
Calling a class method with a mix of positional and named arguments.
classMethodCallNoParams :: InternalValueExp r => VS (r TypeData) -> VS (r TypeData) -> Label -> SValue r Source #
Calling a class method with no parameters.
class (MethodSym r vis smt md, AttachmentSym r att) => OOMethodSym r vis smt md att where Source #
Methods
method :: Label -> r vis -> r att -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #
getMethod :: SVariable r -> MS (r md) Source #
setMethod :: SVariable r -> MS (r md) Source #
constructor :: [MS (r ParamData)] -> Initializers r -> MS (r Body) -> MS (r md) Source #
inOutMethod :: Label -> r vis -> r att -> InOutFunc r md Source #
docInOutMethod :: Label -> r vis -> r att -> DocInOutFunc r md Source #
Instances
privMethod :: OOMethodSym r vis smt md att => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #
pubMethod :: OOMethodSym r vis smt md att => Label -> VS (r TypeData) -> [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #
initializer :: OOMethodSym r vis smt md att => [MS (r ParamData)] -> Initializers r -> MS (r md) Source #
nonInitConstructor :: OOMethodSym r vis smt md att => [MS (r ParamData)] -> MS (r Body) -> MS (r md) Source #
class (VisibilitySym r vis, AttachmentSym r att, VariableSym r) => StateVarSym r vis svr att | r -> svr where Source #
Methods
stateVar :: r vis -> r att -> SVariable r -> CSStateVar r svr Source #
stateVarDef :: r vis -> r att -> SVariable r -> SValue r -> CSStateVar r svr Source #
constVar :: r vis -> SVariable r -> SValue r -> CSStateVar r svr Source #
Instances
privDVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr Source #
pubDVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr Source #
pubSVar :: StateVarSym r vis svr att => SVariable r -> CSStateVar r svr Source #
class AttachmentSym r att | r -> att where Source #
Used to differentiate whether a member is attached to the class or the instance
Instances
class FunctionSym r => OOFunctionSym r where Source #
Methods
func :: Label -> VS (r TypeData) -> [SValue r] -> VS (r FuncData) Source #
objAccess :: SValue r -> VS (r FuncData) -> SValue r Source #
Instances
selfAccess :: (OOVariableValue r, OOFunctionSym r) => VS (r FuncData) -> SValue r Source #
class (StatementSym r smt, OOFunctionSym r) => ObserverPattern r smt where Source #
Instances
initObserverList :: DeclStatement r smt => VS (r TypeData) -> [SValue r] -> r ScopeData -> MS (r smt) Source #
addObserver :: (OOVariableValue r, List r smt) => SValue r -> MS (r smt) Source #
class (BodySym r smt, VariableSym r) => StrategyPattern r smt where Source #
Methods
runStrategy :: Label -> [(Label, MS (r Body))] -> Maybe (SValue r) -> Maybe (SVariable r) -> MS (r Block) Source #