[Haskell-cafe] ANN: extcore 1.0

Tim Chevalier catamorphism at gmail.com
Sat Jan 15 16:45:26 CET 2011

On Thu, Jan 13, 2011 at 11:45 AM, Tim Chevalier <catamorphism at gmail.com> wrote:
> Hello,
> I've recently released version 1.0 of extcore, a library for
> processing code in GHC's text-based External Core format. extcore
> includes a parser, prettyprinter, typechecker, and interpreter for
> External Core, as well as modules for computing module dependencies
> and combining multiple Core modules into a single module. The library
> was originally written by Andrew Tolmach and was part of the GHC
> distribution. After becoming its maintainer, about a year ago I moved
> the library to Hackage. Since in the past year, the library has
> acquired some users but has received no fatal bug reports, I thought
> it was time for a 1.0 release.
> You might be interested in using this library if you're a compiler or
> tool writer who wants to write a tool that processes the output of
> GHC's front-end and simplifier -- that is, code in the Core
> intermediate language, a typed functional language in which many of
> Haskell's features have been desugared into a polymorphically typed
> lambda-calculus (extended with type coercions, as are necessary to
> support type system features such as GADTs). Such tools might include
> alternative back-ends or new program transformations. Using the
> extcore library allows tool writers to experiment with implementing
> new compiler features without modifying GHC itself. While the GHC API
> is also a route to adding new stages to the GHC pipeline, using
> extcore has the advantage that External Core is well-specified (read
> on) and less subject to change than GHC's internal Core format. The
> library has been tested on External Core produced by GHC 6.10.* and
> GHC 6.12.*. It has not yet been tested on External Core produced by
> GHC 7.*.
> Documentation for the External Core format itself lives at
> http://www.haskell.org/ghc/docs/latest/html/ext-core/core.pdf - but

Oops, that'll learn me not to check links before I send email. The
correct URL for the documentation is:


> documentation for the library is limited, and I would welcome
> documentation or other patches. Currently the best source of
> documentation for the library is the README file, found in the
> distribution. To get the distribution, please visit
> http://hackage.haskell.org/package/extcore or cabal install extcore.
> Please direct replies to glasgow-haskell-users at haskell.org, with me
> CCed. Please make sure not to reply to haskell at haskell.org.


Tim Chevalier * http://cs.pdx.edu/~tjc/ * Often in error, never in doubt
"an intelligent person fights for lost causes,realizing that others
are merely effects" -- E.E. Cummings

More information about the Haskell-Cafe mailing list