Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type GenState = State DrasilState
- data DrasilState = DrasilState {
- codeSpec :: CodeSpec
- modular :: Modularity
- implType :: ImplementationType
- inStruct :: Structure
- conStruct :: ConstantStructure
- conRepr :: ConstantRepr
- concMatches :: MatchedConceptMap
- spaceMatches :: MatchedSpaces
- onSfwrC :: ConstraintBehaviour
- onPhysC :: ConstraintBehaviour
- commented :: [Comments]
- doxOutput :: Verbosity
- date :: String
- logName :: String
- logKind :: [Logging]
- auxiliaries :: [AuxFile]
- sampleData :: [Expr]
- modules :: [Mod]
- extLibNames :: [(Name, Version)]
- extLibMap :: ExtLibMap
- libPaths :: [FilePath]
- eMap :: ModExportMap
- libEMap :: ModExportMap
- clsMap :: ClassDefinitionMap
- defList :: [Name]
- getVal :: Int
- currentModule :: String
- currentClass :: String
- _designLog :: Doc
- _loggedSpaces :: [(Space, CodeType)]
- designLog :: Lens' DrasilState Doc
- inMod :: DrasilState -> InputModule
- type MatchedSpaces = Space -> GenState CodeType
- type ModExportMap = Map String String
- type ClassDefinitionMap = Map String String
- modExportMap :: CodeSpec -> Choices -> [Mod] -> ModExportMap
- clsDefMap :: CodeSpec -> Choices -> [Mod] -> ClassDefinitionMap
- addToDesignLog :: Space -> CodeType -> Doc -> DrasilState -> DrasilState
- addLoggedSpace :: Space -> CodeType -> DrasilState -> DrasilState
Documentation
type GenState = State DrasilState Source #
Abbreviation used throughout generator.
data DrasilState Source #
Private State, used to push these options around the generator.
DrasilState | |
|
designLog :: Lens' DrasilState Doc Source #
inMod :: DrasilState -> InputModule Source #
Determines whether input modules are Combined
or Separated
based on the
Modularity
stored in DrasilState
.
modExportMap :: CodeSpec -> Choices -> [Mod] -> ModExportMap Source #
Builds the module export map, mapping each function and state variable name in the generated code to the name of the generated module that exports it.
clsDefMap :: CodeSpec -> Choices -> [Mod] -> ClassDefinitionMap Source #
Builds the class definition map, mapping each generated method and state variable name to the name of the generated class where it is defined.
addToDesignLog :: Space -> CodeType -> Doc -> DrasilState -> DrasilState Source #
addLoggedSpace :: Space -> CodeType -> DrasilState -> DrasilState Source #
Adds a Space
-CodeType
pair to the loggedSpaces list in DrasilState
to prevent a duplicate
log from being generated for that Space
-CodeType
pair.