purescript- PureScript Programming Language Compiler

Safe HaskellNone



Functions for converting PureScript ASTs into values of the data types from Language.PureScript.Docs.



convertModules :: (Functor m, Applicative m, MonadError MultipleErrors m) => [Module] -> m [Module] Source

Convert a group of modules to the intermediate format, designed for producing documentation from. It is also necessary to pass an Env containing imports/exports information about the list of modules, which is needed for documenting re-exports.

Note that the whole module dependency graph must be included in the list; if some modules import things from other modules, then those modules must also be included.

For value declarations, if explicit type signatures are omitted, or a wildcard type is used, then we typecheck the modules and use the inferred types.

convertModulesInPackage :: (Functor m, Applicative m, MonadError MultipleErrors m) => [InPackage Module] -> m [Module] Source

Like convertModules, except that it takes a list of modules, together with their dependency status, and discards dependency modules in the resulting documentation.

collectBookmarks :: InPackage Module -> [Bookmark] Source

Go through a PureScript module and extract a list of Bookmarks; references to data types or values, to be used as a kind of index. These are used for generating links in the HTML documentation, for example.