Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type GSProgram a = GS (a (Program a))
- type SFile a = FS (a (File a))
- type FSModule a = FS (a (Module a))
- type SClass a = CS (a (Class a))
- type CSStateVar a = CS (a (StateVar a))
- type Initializers r = [(SVariable r, SValue r)]
- class (SharedProg r, ProgramSym r, OOVariableValue r, OODeclStatement r, OOFuncAppStatement r, OOValueExpression r, InternalValueExp r, GetSet r, ObserverPattern r, StrategyPattern r) => OOProg r
- class FileSym r => ProgramSym r where
- class ModuleSym r => FileSym r where
- class ClassSym r => ModuleSym r where
- class (OOMethodSym r, StateVarSym r) => ClassSym r where
- type Class r
- buildClass :: Maybe Label -> [CSStateVar r] -> [SMethod r] -> [SMethod r] -> SClass r
- extraClass :: Label -> Maybe Label -> [CSStateVar r] -> [SMethod r] -> [SMethod r] -> SClass r
- implementingClass :: Label -> [Label] -> [CSStateVar r] -> [SMethod r] -> [SMethod r] -> SClass r
- docClass :: String -> SClass r -> SClass r
- class TypeSym r => OOTypeSym r where
- class (VariableSym r, OOTypeSym r) => OOVariableSym r where
- staticVar :: OOVariableSym r => Label -> VSType r -> SVariable r
- staticConst :: OOVariableSym r => Label -> VSType r -> SVariable r
- ($->) :: OOVariableSym r => SVariable r -> SVariable r -> SVariable r
- class (ValueSym r, OOTypeSym r) => OOValueSym r
- class (VariableValue r, OOVariableSym r) => OOVariableValue r
- class (ValueExpression r, OOVariableSym r, OOValueSym r) => OOValueExpression r where
- selfFuncApp :: OOValueExpression r => PosCall r
- newObj :: OOValueExpression r => PosCtorCall r
- extNewObj :: OOValueExpression r => Library -> PosCtorCall r
- libNewObj :: OOValueExpression r => Library -> PosCtorCall r
- class (DeclStatement r, OOVariableSym r) => OODeclStatement r where
- objDecDef :: SVariable r -> r (Scope r) -> SValue r -> MSStatement r
- objDecNew :: SVariable r -> r (Scope r) -> [SValue r] -> MSStatement r
- extObjDecNew :: Library -> SVariable r -> r (Scope r) -> [SValue r] -> MSStatement r
- objDecNewNoParams :: OODeclStatement r => SVariable r -> r (Scope r) -> MSStatement r
- extObjDecNewNoParams :: OODeclStatement r => Library -> SVariable r -> r (Scope r) -> MSStatement r
- class (FuncAppStatement r, OOVariableSym r) => OOFuncAppStatement r where
- selfInOutCall :: InOutCall r
- class (ValueSym r, VariableSym r) => GetSet r where
- class ValueSym r => InternalValueExp r where
- objMethodCall :: InternalValueExp r => VSType r -> SValue r -> Label -> [SValue r] -> SValue r
- objMethodCallNamedArgs :: InternalValueExp r => VSType r -> SValue r -> Label -> NamedArgs r -> SValue r
- objMethodCallMixedArgs :: InternalValueExp r => VSType r -> SValue r -> Label -> [SValue r] -> NamedArgs r -> SValue r
- objMethodCallNoParams :: InternalValueExp r => VSType r -> SValue r -> Label -> SValue r
- class (MethodSym r, PermanenceSym r) => OOMethodSym r where
- method :: Label -> r (Visibility r) -> r (Permanence r) -> VSType r -> [MSParameter r] -> MSBody r -> SMethod r
- getMethod :: SVariable r -> SMethod r
- setMethod :: SVariable r -> SMethod r
- constructor :: [MSParameter r] -> Initializers r -> MSBody r -> SMethod r
- inOutMethod :: Label -> r (Visibility r) -> r (Permanence r) -> InOutFunc r
- docInOutMethod :: Label -> r (Visibility r) -> r (Permanence r) -> DocInOutFunc r
- privMethod :: OOMethodSym r => Label -> VSType r -> [MSParameter r] -> MSBody r -> SMethod r
- pubMethod :: OOMethodSym r => Label -> VSType r -> [MSParameter r] -> MSBody r -> SMethod r
- initializer :: OOMethodSym r => [MSParameter r] -> Initializers r -> SMethod r
- nonInitConstructor :: OOMethodSym r => [MSParameter r] -> MSBody r -> SMethod r
- class (VisibilitySym r, PermanenceSym r, VariableSym r) => StateVarSym r where
- type StateVar r
- stateVar :: r (Visibility r) -> r (Permanence r) -> SVariable r -> CSStateVar r
- stateVarDef :: r (Visibility r) -> r (Permanence r) -> SVariable r -> SValue r -> CSStateVar r
- constVar :: r (Visibility r) -> SVariable r -> SValue r -> CSStateVar r
- privDVar :: StateVarSym r => SVariable r -> CSStateVar r
- pubDVar :: StateVarSym r => SVariable r -> CSStateVar r
- pubSVar :: StateVarSym r => SVariable r -> CSStateVar r
- class PermanenceSym r where
- type Permanence r
- static :: r (Permanence r)
- dynamic :: r (Permanence r)
- class FunctionSym r => OOFunctionSym r where
- func :: Label -> VSType r -> [SValue r] -> VSFunction r
- objAccess :: SValue r -> VSFunction r -> SValue r
- ($.) :: OOFunctionSym r => SValue r -> VSFunction r -> SValue r
- selfAccess :: (OOVariableValue r, OOFunctionSym r) => VSFunction r -> SValue r
- class (StatementSym r, OOFunctionSym r) => ObserverPattern r where
- notifyObservers :: VSFunction r -> VSType r -> MSStatement r
- observerListName :: Label
- initObserverList :: DeclStatement r => VSType r -> [SValue r] -> r (Scope r) -> MSStatement r
- addObserver :: (StatementSym r, OOVariableValue r, List r) => SValue r -> MSStatement r
- class (BodySym r, VariableSym r) => StrategyPattern r where
- convTypeOO :: OOTypeSym r => CodeType -> VSType r
Documentation
type CSStateVar a = CS (a (StateVar a)) Source #
type Initializers r = [(SVariable r, SValue r)] Source #
class (SharedProg r, ProgramSym r, OOVariableValue r, OODeclStatement r, OOFuncAppStatement r, OOValueExpression r, InternalValueExp r, GetSet r, ObserverPattern r, StrategyPattern r) => OOProg r Source #
Instances
OOProg CodeInfoOO Source # | |
Defined in Drasil.GOOL.CodeInfoOO | |
OOProg CSharpCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CSharpRenderer | |
OOProg JavaCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.JavaRenderer | |
OOProg PythonCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.PythonRenderer | |
OOProg SwiftCode Source # | |
Defined in Drasil.GOOL.LanguageRenderer.SwiftRenderer | |
Pair p => OOProg (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer |
class FileSym r => ProgramSym r where Source #
Instances
class ModuleSym r => FileSym r where Source #
fileDoc :: FSModule r -> SFile r Source #
docMod :: String -> [String] -> String -> SFile r -> SFile r Source #
Instances
class ClassSym r => ModuleSym r where Source #
Instances
class (OOMethodSym r, StateVarSym r) => ClassSym r where Source #
buildClass :: Maybe Label -> [CSStateVar r] -> [SMethod r] -> [SMethod r] -> SClass r Source #
Main external method for creating a class. Inputs: parent class, variables, constructor(s), methods
extraClass :: Label -> Maybe Label -> [CSStateVar r] -> [SMethod r] -> [SMethod r] -> SClass r Source #
Creates an extra class. Inputs: class name, the rest are the same as buildClass.
implementingClass :: Label -> [Label] -> [CSStateVar r] -> [SMethod r] -> [SMethod r] -> SClass r 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 # | |
Pair p => OOTypeSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer obj :: ClassName -> VSType (p CppSrcCode CppHdrCode) Source # |
class (VariableSym r, OOTypeSym r) => OOVariableSym r where Source #
staticVar' :: Bool -> Label -> VSType r -> SVariable r Source #
classVar :: VSType r -> SVariable r -> SVariable r Source #
extClassVar :: VSType r -> SVariable r -> SVariable r Source #
objVar :: SVariable r -> SVariable r -> SVariable r Source #
objVarSelf :: SVariable r -> SVariable r Source #
Instances
staticConst :: OOVariableSym r => Label -> VSType r -> SVariable r Source #
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 | |
Pair p => OOValueSym (p CppSrcCode CppHdrCode) Source # | |
Defined in Drasil.GOOL.LanguageRenderer.CppRenderer |
class (VariableValue r, OOVariableSym r) => OOVariableValue r Source #
Instances
class (ValueExpression r, OOVariableSym r, OOValueSym r) => OOValueExpression r where Source #
selfFuncAppMixedArgs :: MixedCall r Source #
newObjMixedArgs :: MixedCtorCall r Source #
extNewObjMixedArgs :: Library -> MixedCtorCall r Source #
libNewObjMixedArgs :: Library -> MixedCtorCall r Source #
Instances
selfFuncApp :: OOValueExpression 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, OOVariableSym r) => OODeclStatement r where Source #
objDecDef :: SVariable r -> r (Scope r) -> SValue r -> MSStatement r Source #
objDecNew :: SVariable r -> r (Scope r) -> [SValue r] -> MSStatement r Source #
extObjDecNew :: Library -> SVariable r -> r (Scope r) -> [SValue r] -> MSStatement r Source #
Instances
objDecNewNoParams :: OODeclStatement r => SVariable r -> r (Scope r) -> MSStatement r Source #
extObjDecNewNoParams :: OODeclStatement r => Library -> SVariable r -> r (Scope r) -> MSStatement r Source #
class (FuncAppStatement r, OOVariableSym r) => OOFuncAppStatement r where Source #
selfInOutCall :: InOutCall r Source #
Instances
class (ValueSym r, VariableSym r) => GetSet r where Source #
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 #
objMethodCallMixedArgs' :: Label -> VSType r -> 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.
Instances
objMethodCall :: InternalValueExp r => VSType r -> 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 => VSType r -> SValue r -> Label -> NamedArgs r -> SValue r Source #
Calling a method with named arguments.
objMethodCallMixedArgs :: InternalValueExp r => VSType r -> SValue r -> Label -> [SValue r] -> NamedArgs r -> SValue r Source #
Calling a method with a mix of positional and named arguments.
objMethodCallNoParams :: InternalValueExp r => VSType r -> SValue r -> Label -> SValue r Source #
Calling a method with no parameters.
class (MethodSym r, PermanenceSym r) => OOMethodSym r where Source #
method :: Label -> r (Visibility r) -> r (Permanence r) -> VSType r -> [MSParameter r] -> MSBody r -> SMethod r Source #
getMethod :: SVariable r -> SMethod r Source #
setMethod :: SVariable r -> SMethod r Source #
constructor :: [MSParameter r] -> Initializers r -> MSBody r -> SMethod r Source #
inOutMethod :: Label -> r (Visibility r) -> r (Permanence r) -> InOutFunc r Source #
docInOutMethod :: Label -> r (Visibility r) -> r (Permanence r) -> DocInOutFunc r Source #
Instances
privMethod :: OOMethodSym r => Label -> VSType r -> [MSParameter r] -> MSBody r -> SMethod r Source #
pubMethod :: OOMethodSym r => Label -> VSType r -> [MSParameter r] -> MSBody r -> SMethod r Source #
initializer :: OOMethodSym r => [MSParameter r] -> Initializers r -> SMethod r Source #
nonInitConstructor :: OOMethodSym r => [MSParameter r] -> MSBody r -> SMethod r Source #
class (VisibilitySym r, PermanenceSym r, VariableSym r) => StateVarSym r where Source #
stateVar :: r (Visibility r) -> r (Permanence r) -> SVariable r -> CSStateVar r Source #
stateVarDef :: r (Visibility r) -> r (Permanence r) -> SVariable r -> SValue r -> CSStateVar r Source #
constVar :: r (Visibility r) -> SVariable r -> SValue r -> CSStateVar r Source #
Instances
privDVar :: StateVarSym r => SVariable r -> CSStateVar r Source #
pubDVar :: StateVarSym r => SVariable r -> CSStateVar r Source #
pubSVar :: StateVarSym r => SVariable r -> CSStateVar r Source #
class PermanenceSym r where Source #
type Permanence r Source #
static :: r (Permanence r) Source #
dynamic :: r (Permanence r) Source #
Instances
class FunctionSym r => OOFunctionSym r where Source #
Instances
($.) :: OOFunctionSym r => SValue r -> VSFunction r -> SValue r infixl 9 Source #
selfAccess :: (OOVariableValue r, OOFunctionSym r) => VSFunction r -> SValue r Source #
class (StatementSym r, OOFunctionSym r) => ObserverPattern r where Source #
notifyObservers :: VSFunction r -> VSType r -> MSStatement r Source #
Instances
initObserverList :: DeclStatement r => VSType r -> [SValue r] -> r (Scope r) -> MSStatement r Source #
addObserver :: (StatementSym r, OOVariableValue r, List r) => SValue r -> MSStatement r Source #
class (BodySym r, VariableSym r) => StrategyPattern r where Source #
runStrategy :: Label -> [(Label, MSBody r)] -> Maybe (SValue r) -> Maybe (SVariable r) -> MSBlock r Source #