Fellow Haskelleers, I'm pleased to announce the release of haskell-src-exts-1.1.3.
* On hackage: http://hackage.haskell.org/package/haskell-src-exts * Via darcs: darcs get http://code.haskell.org/haskell-src-exts * Report bugs: http://trac.haskell.org/haskell-src-exts 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. haskell-src-exts-1.1.3 is a highly experimental release, which (apart from a small bug fix, see below) doesn't do anything at all to the current stable part of haskell-src-exts. But the release is far from as boring as all that may sound, as it includes a whole new set of modules implementing a new and more accurate syntax tree where all nodes are adorned with annotations. Together with this comes a parser that retains exact source information, stored in the aforementioned annotations. There is also support for various precision for source information, including SrcSpans. The new modules mirror the ones in the stable part of haskell-src-exts but instead live in Language.Haskell.Exts.Annotated{.Syntax,.Parser,...} (except that SrcLoc and friends now have their own module). The point of this release is that those of you that for one reason or other are waiting for these features can help me look, feel, test and comment these things in isolation, and hopefully report a lot of bugs, before I integrate this stuff with the main haskell-src-exts body of code. Note that that coming integration is intended to be backwards-compatible, but a lot of the behind-the-scenes will be switched over to the new and more general machinery. Feature-wise, with this accurate source tree in hand, the next step is to write a printer that uses the full location information to allow full and exact round-tripping, i.e. (print . parse == id). == haskell-src-exts-1.1.3 == * Adds support for more accurate, and fully annotated, abstract syntax, see above. * Fixes a bug that forced 'rec' statement groups to end with a qualifier (like 'do'). Cheers and Happy Haskelling, /Niklas _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell