Skip to content

Extensible interfaces

Josh Meredith requested to merge JoshMeredith/ghc:extensible-interfaces into master

Proof of concept implementation for adding extra fields to interface files for use by tooling.

By including tooling data as fields, we remove the need for build tools to know about extra files that they don't use information from.

As an example use case, hie data and parts of the compiler phases could be combined into the normal interface files by this, motivated in (https://gitlab.haskell.org/ghc/ghc/wikis/Core-interface-section).

In this patch, interface fields:

  • An extra field in ModIface representing a Map from field names to seralized field data
  • An API to interact with the fields.
Edited by Josh Meredith

Merge request reports