Haskell Weekly News: January 9, 2006
Greetings, and thanks for reading the 19th issue of HWN, a
weekly newsletter for the Haskell community. Each Monday, new
editions are posted to
the Haskell mailing list
The Haskell Sequence.
A Faster Binary. Bulat Ziganshin posted
a preliminary optimised Binary library, achieving excellent
(de)serialization speeds of around 50 Mb/s in testing.
Resources and Tools
- Haskell mail. Simon Peyton-Jones has put together a complete archive of the Haskell mailing list since its birth in
Sept 1990 until Oct 2000 -- the date where the current
mailman archive takes over. This is a valuable resource for the community.
- haskell.org. John Peterson is seeking comments on the haskell.org move to MediaWiki. Currently only the front page is
finished, and its time for comments. In the end this will allow anyone
to come in and fix up the main haskell.org pages - the people, the
projects, the help for beginners, all of it. One job that will
be needed is to move the current hawiki contents onto MediaWiki.
Feel free to start adding stuff to the new haskellwiki.
- Language Shootout. Discussion
took place on on haskell-cafe to improve the performance of the
Haskell entries. This process has greatly improved some entries.
Haskell is now the fastest entry for the concurrency benchmark, Chameneos.
More can still be done. Some entries are being worked on here. The
problems are quite short, and fairly easy to solve, so fire up the
profiler and hack!
- MonadZero. Cale Gibbard opened
a discussion about reinclusion of MonadZero, and removal of `fail'
from the Monad class, citing the overuse of monadic typing to
indicate the possibility of failure as one of the problems. Instead,
MonadZero should be used for failure. References were made to the discussions that took place on this
issue during the Haskell 98 process.
- History channel. On a similar theme, an expedition took
place on #haskell into functions and classes from earlier
implementations of Haskell that had disappeared by Haskell 98. Of
particular interest was the Eval class, and various things in the constructor class
prelude from Gofer, such as:
class (Functor f, Functor g) => NatTransf f g where
eta :: f a -> g aand fun definitions like:
undefined :: a
undefined | False = undefined
A darcs gui. Eric Kow proposed
resurrecting the darcs wxhaskell gui for a new darcs gui.
Quote of the Week
* autrijus stares at
type Eval x = forall r. ContT r (ReaderT x IO) (ReaderT x IO x)
and feels very lost
<shapr> Didn't you write that code?
<autrijus> yeah. and it works
<autrijus> I just don't know what it means.
Contributing to HWN
You can help us create new editions of this newsletter. Please
see the contributing
information, send stories to
cse.unsw.edu.au. The Darcs repository is available at
darcs get http://www.cse.unsw.edu.au/~dons/code/hwn