The project information (corresponds to a single elm.json file).
Holds more information though - the data in the type parameter holds all the
parsed modules etc. - what every stage needs. See ProjectFields
of the various
AST stages.
{ projectFields | elmJson : Elm.Project.Project
, mainFilePath : Elm.Data.FilePath.FilePath
, mainModuleName : Elm.Data.ModuleName.ModuleName
, sourceDirectory : Elm.Data.FilePath.FilePath
}
Each AST stage has its own project fields - that's what the r
parameter is.
Eg. on the frontend we have program : Modules Frontend.Expr
and on the backend we have graph : Backend.Graph
.