[Haskell] ANNOUNCE: haskell-src-exts 0.4.1

Niklas Broberg niklas.broberg at gmail.com
Fri Nov 14 20:26:45 EST 2008

Fellow Haskelleers,

it is my pleasure to announce the new release of the haskell-src-exts
package, version 0.4.1:

darcs get http://code.haskell.org/HSP/haskell-src-exts

This is a new "major" release, the first of the 0.4 branch, and as
such it is not backwards compatible with the releases in the 0.3
branch. This is due to two major changes to the design of the library:

1) The AST has been cleaned up, by splitting Haskell expressions in
the AST from the "expressions" used while parsing to represent both
expressions and patterns. This means that the datatype for expressions
will no longer contain constructors for things like wildcards and
irrefutable patterns. It now only contains constructors for actual
Haskell expressions. If you have been using haskell-src-exts
previously, this change should not bite you at all unless you have
abused these ugly hacks in the AST, so it is *almost* backwards
compatible. However...

2) ... I've finally decided to take the plunge and get rid of the ugly
prefixes on all datatypes in the AST. I am of the firm conviction that
disambiguation between datatypes and functions with the same name
should be handled through the module hierarchy and qualified imports,
not by adding prefixes. And the longer I wait, the harder the switch.
So now the datatypes that make up the AST are called things like Exp,
Pat, Module (the former Module is now ModuleName), Type, QOp etc
instead of HsExp, HsPat... .

The migration from 0.3.x to 0.4.1 should be really simple:
i) replace all occurences of Module with ModuleName
ii) remove all occurences of Hs

This release also contains a number of smaller, fully backwards
compatible bug fixes. These are available for the 0.3 branch in the
0.3.12 release that will mark the end of that branch:


No further bug fixes or features will be implemented for it, and I
urge you to migrate as early as possible, it really isn't hard. :-)

Cheers and Happy Haskelling,


More information about the Haskell mailing list