[Haskell-cafe] ANN: haskell-src-exts-1.0.0

Niklas Broberg niklas.broberg at gmail.com
Mon Jun 22 20:36:07 EDT 2009


Fellow Haskelleers,

It is with great pleasure I hereby announce the first stable release
of the haskell-src-exts package, version 1.0.0!

haskell-src-exts is a package for Haskell source code manipulation. In
particular it defines an abstract syntax tree representation, and a
parser and pretty-printer to convert between this representation and
String. It handles (almost(*)) all syntactic extensions to the Haskell
98 standard implemented by GHC, and the parsing can be parametrised on
what extensions to recognise.

I wish to thank the glorious Haskell community, for giving me the
chance to work on this project as part of Haskell.org's GSoC
programme, but also for simply being such a nice place to be! Special
thanks to everyone who helped me with testing and bug reports during
the final stretch of release candidates, in particular the many
excellent reports from Ganesh Sittampalam, Sebastian Fischer, and Neil
Mitchell who is also mentoring the project. You're all awesome!

haskell-src-exts-1.0.0:
=================

Via cabal: cabal install haskell-src-exts-1.0.0
Via darcs: darcs get http://code.haskell.org/haskell-src-exts
On hackage: http://hackage.haskell.org/package/haskell-src-exts-1.0.0


Changes from 0.5.7, the last release candidate:
======================================

* CPP lines are no longer ignored, which means haskell-src-exts will
now invariably give a parse error on files with CPP pragmas in them.
CPP is not supported by haskell-src-exts, and this is more intuitive
than parsing e.g. all branches of an #if pragma, which is invariably
give unintended results.

* Fixed a stupid introduced bug where extensions passed int he parse
mode were ignored.

* fromParseOk is now exported, not just defined (doh).

* ScopedTypeVariables now implies TypeOperators, as per GHC. I'm sure
there are more implications that are missing from haskell-src-exts, I
will add them as I find out about them.


Thanks once again, and Happy Haskell Hacking to all!

Cheers,

/Niklas


(*) The only two exceptions are NewQualifiedOperators and UnicodeSyntax.


More information about the Haskell-Cafe mailing list