please won't you tell me who is she?
The Strathclyde Haskell Enhancement is an experimental preprocessor for the
Glasgow Haskell Compiler, concocted
hastily by Conor McBride
at the University of Strathclyde. Its current functionality includes
Its main function is to support its author's foibles in the process of
implementing
Epigram, but it's also a test bed
for experimental Haskell features. At this stage in its
life cycle, it's unlikely to be particularly robust. You'll find that its
error support is fantastic, if you need help making errors.
getting it and doing it
If you try (possibly after a cabal update)
cabal install she
you may find you're in business. The intrepid among you may prefer
darcs get http://personal.cis.strath.ac.uk/~conor/pub/she/
cd she
cabal install
Once she's installed, you should find that she's executable. Your best
bet is to let ghc do the talking. The incantation for the top of your file is
{-# OPTIONS_GHC -F -pgmF she #-}
which means she gets called as a Haskell preprocessor, after your bird tracks have
been stripped, but before much else happens. Works fine in ghci too.
If you want to inspect the mess she makes of your lovely program, you could do worse
than
ghc -E Lovely.lhs
more Lovely.hspp
and compare it to a summer's day. Meanwhile, you might also look at the funny extra
file she's made
more Lovely.hers
which is probably empty, because you haven't done anything yet.
getting on with it
If you want to play, don't wait for me to WTFM. Look in the
examples directory and get cracking.
Here's the manual, so far.
watch this space
Features to fix and bugs to add!
- a translator from
simple first-order programs to type families
- monadic case and if
- constructing free monads from signatures
- making newtypes instances of class Newtype