[GHC] #14409: Split GHC(-API) into multiple packages
GHC
ghc-devs at haskell.org
Wed Nov 1 10:45:36 UTC 2017
#14409: Split GHC(-API) into multiple packages
-------------------------------------+-------------------------------------
Reporter: Lemming | Owner: (none)
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version:
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Current GHC-API is pretty monolithic and a lot of data is hidden in
monads.
I'd prefer to have cleanly separated packages for parser, module system,
type-checker, optimizer, code generator, linker. E.g. Haddock would
certainly only use the first two, maybe three, steps. Advanced editing
features in an IDE would use only the first three steps. A compiler for a
Haskell dialect might use only optimizer and code generator.
The packages should have clean interfaces. E.g. it should be possible to
enter a Text or String into the parser and get a ByteString containing
code or a pointer to executable code in memory from the code generator,
with no need to write temporary files.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14409>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list