The first issue of the online Haskell e-zine, The Monad.Reader, has been posted.
Looks like good work to me. I think this will be a wonderful thing for the Haskell community.
K. Fritz Ruehr's Evolution of a Haskell Programmer is a humorous look at the mental development of the Haskell programmer.
Autrijus Tang seems to have caused some interest in the Perl community due to his rapid development of a working Perl6 compiler/interpreter written in Haskell. Quite a few Perl6 hackers have been hanging out in #haskell of late.
Pugs, at present, works by compiling the input to an AST and then interpreting (evaluating) that AST. Autrijus expects this to be expanded to a true compiler down the road, with possible outputs being Perl 6, Haskell code (which could lead to a Perl-to-C compiler), and Parrot.
All About Monads, A comprehensive guide to the theory and practice of monadic programming in Haskell.
Jeff Newbern's All About Monads is the best monad tutorial I've seen yet!
This tutorial starts with the most basic definition of a monad, and why you might want one. It covers most of the monad instances in the standard libraries, and also includes monad transformers. It wraps up nicely with links to Parsec, category theory, and arrows. You can read it online, or download as a zip file or tarball.
If you've been looking for a good monads tutorial, try this one first!
Don Stewart's hs-plugins is a cool tool for dynamically loading haskell modules at runtime. hs-plugins history begins with GHCi, which was the first interpreter-like software for GHC. Some time later, Andre Pang wrote the RuntimeLoader, which turned GHCi into a library allowing any Haskell application to do dynamic loading. RuntimeLoader was very close to GHCi, the user needed to handle library dependencies themselves, for example. hs-plugins is a complete solution to dynamic loading in Haskell, it has lots of features and can do all sorts of nifty things.
hs-plugins includes spiffy features like eval, make, and load. The eval function does compiling, loading, and executing a single string's worth of code. the make function checks a source module and its dependencies for any changes since the last compilation, and recompiles and reloads all changed modules.
hs-plugins is already used in several applications. One especially nice example is the Yi editor from the same author, where hs-plugins is used to allow the entire application to be dynamically reloaded from a single Boot.hs startup file.
Algorithms: A Functional Programming Approach is one of my top ten favorite computer science books. First, it covers the basics of Haskell and complexity theory. Then for each algorithm it gives first an easy to read implementation, and then a more efficient but harder to read implementation. Each of the transformations from clear to fast versions are discussed, and optimizations are explained. This book was also my first introduction to methodical step-by-step algorithmic optimization systems, in this case the Burstall & Darlington system. I've since used the lessons I learned in this book in my commercial work in Python, SQL, Java, and of course Haskell.
The best audience for this book is those who are looking for a second Haskell book, or new to algorithms, or would like to learn how to optimize pure (non-monadic) Haskell code systematically. The sections on top-down design techniques and dynamic programming would be of interest to programmers who are still learning and wish to know more about structuring larger programs.
Even with all that content, this softcover book is only 256 pages (coincidentally binary?), allowing for easy reading in any spare moment.
Jens Petersen writes on the haskell mailing list:
The Fedora Haskell project now has a mailing list which is kindly hosted on haskell.org. :)
If you wish to subscribe for announcements and discussion of packaging Haskell projects for Fedora, please go to
More information about the project is available on