Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
All the definitions in these "Internal" modules are not version-controlled. WARNING: If you depend on them, your code may break even when the nanopass package version does not increase.
They are here because I have found it useful to generate documentation for how this library works. Developers can then check on how the internal interfaces are meant to work together.
- Nanopass.Internal.Representation defines an intermediate representation that is at the core of all operations.
- Nanopass.Internal.Error holds the data type for error reporting, and TODO will hold printers for those errors.
- Nanopass.Internal.Parser is responsible for parsing quasiquotes into language definitions, modifications, and passes.
- Nanopass.Internal.Validate is responsible for ensuring language definitions are well-formed.
- Nanopass.Internal.Extend is responsible for modifying a base language to create a new language.
- TODO Nanopass.Internal.Decode is responsible for recovering languages from Haskell data types.
- TODO Nanopass.Internal.GenTypes is responsible for generating types for a language.
- TODO Nanopass.Internal.GenXlate is responsible for generating passes (translation functions and types) between languages.