drasil-printers-0.1.10.0: A framework for code and document generation for scientific software - Printers SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Drasil.Debug.Print

Synopsis

Main Function

printAllDebugInfo :: PrintingInformation -> [Doc] Source #

Gathers all printing functions and creates the debugging tables from them.

Helpers

Separators

cdbSection :: Doc -> Doc Source #

Debugging table separator.

header :: Doc -> Doc Source #

Header for debugging tables.

Table Generators

mkTableFromLenses :: HasUID a => PrintingInformation -> (ChunkDB -> UMap a) -> String -> [PrintingInformation -> (String, a -> Doc)] -> Doc Source #

General function to make the debugging tables. Takes in printing information, a function that extracts a certain field from the printing information, a title, three column headers, and three functions that sort the data from the printing information field into the required display formats (often UIDs, terms, shortnames, definitions, etc.).

openRef :: HasRefAddress a => p -> (String, a -> Doc) Source #

mkTableSymb :: PrintingInformation -> Doc Source #

Makes a table with all symbolic quantities in the SRS.

mkTableOfTerms :: PrintingInformation -> Doc Source #

Makes a table with terms in the SRS.

mkTableConcepts :: PrintingInformation -> Doc Source #

Makes a table with all concepts in the SRS.

mkTableUnitDefn :: PrintingInformation -> Doc Source #

Makes a table with all units used in the SRS.

mkTableDataDef :: PrintingInformation -> Doc Source #

Makes a table with all data definitions in the SRS.

mkTableGenDef :: PrintingInformation -> Doc Source #

Makes a table with all general definitions in the SRS.

mkTableTMod :: PrintingInformation -> Doc Source #

Makes a table with all theoretical models in the SRS.

mkTableIMod :: PrintingInformation -> Doc Source #

Makes a table with all instance models in the SRS.

mkTableCI :: PrintingInformation -> Doc Source #

Makes a table with all concept instances in the SRS.

mkTableSec :: PrintingInformation -> Doc Source #

Makes a table with all sections in the SRS.

mkTableLC :: PrintingInformation -> Doc Source #

Makes a table with all labelled content in the SRS.

mkTableRef :: PrintingInformation -> Doc Source #

Makes a table with all references in the SRS.

mkTableDepChunks :: PrintingInformation -> Doc Source #

Chunks that depend on other chunks. An empty list means the chunks do not depend on anything.

mkTableReferencedChunks :: PrintingInformation -> Doc Source #

Chunks that are referenced and used by other chunks. Those chunks build on top of the ones listed here.

mkTableDepReffedChunks :: PrintingInformation -> Doc Source #

Chunks that use and are used by other chunks.

UID Manipulation

renderUsedUIDs :: [(UID, String)] -> Doc Source #

Creates a table of all UIDs and their "highest" recorded level of information. See mkListShowUsedUIDs for more details.

mkListShowUsedUIDs :: PrintingInformation -> [(UID, String)] Source #

For the last section of the log output. Shows which chunk UID is being used at which stage. Note that chunks used at a "higher stage" (like Concepts and QuantityDicts) will still be built off of the more basic types (like IdeaDicts), they are just not explicitly used in that manner. Also, some chunks may have been "downgraded" when put into the database (for example, mapping a QuantityDict wrapper onto things like Constrained and Unital chunks happens often).

mkListAll :: ChunkDB -> [UID] Source #

Get all UIDs from a database (ChunkDB).