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

Niklas Broberg niklas.broberg at gmail.com
Sun Mar 16 16:34:36 EDT 2008

Hi all,

I'm pleased to announce a new release for the haskell-src-exts package.

haskell-src-exts 0.3.2

haskell-src-exts is a package for handling and manipulating Haskell
source code. It is based on the haskell-src package that is part of
the standard libraries, but extends this to support a number of
syntactic extensions, e.g. MPTCs, fundeps, GADTs, TH etc. It is
intended as a drop-in replacement for the standard haskell-src
package, and exports the same functions and data types, plus some

Apart from the more standard extensions supported by e.g. GHC,
haskell-src-exts also provides support for HaRP (Haskell Regular
Patterns) and HSX (Haskell Source with XML) syntax.

Note that as of 0.3, haskell-src-exts /= HSX.

* cabal sdist: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src-exts-0.3.2
* darcs repo: darcs get http://code.haskell.org/HSP/haskell-src-exts

=== Changes from 0.2: ===

* Added support for
  - Indexed type families (including associated types/datatypes)
  - Explicit kind signatures
  - Standalone deriving

* haskell-src-exts is now decoupled from hsx/trhsx and harp.
  - Modules renamed to Language.Haskell.Exts.*
  - Module Transform is removed from the package (now in package hsx)

* New repository (i.e. darcs pull in an old repo won't work, use darcs
get), containing only the haskell-src-exts package (no hsx or harp).

* Builds with 6.8.2 (thanks Duncan Coutts)

=== Complete list of supported extensions ===

* Multi-parameter type classes (MPTCs)
* Functional dependencies
* Associated types, indexed type families
* Liberal class and instance heads
* Implicit parameters
* Explicit kind signatures
* Pattern guards
* Generalized algebraic data types (GADTs)
* Template Haskell (TH)
* Universal and existential quantification (forall)
* Empty data type declarations
* Unboxed tuples (# #)
* Standalone deriving
* Regular patterns
* Haskell XML, HSX style

=== Build Requirements ===

* happy >= 1.17
  - It might work with 1.16 though I haven't tested. In that case
change the cabal file.
  - It would work with older versions as well, though they insert a
dependency on Array (haskell98) instead of Data.Array. If that's all
you have to work with, update the cabal file with a dependency on

* Cabal >= 1.2

Patches are more than welcome. :-)



More information about the Haskell-Cafe mailing list