Haskell Weekly News: August 07, 2007

Submitted by dons on Tue, 08/07/2007 - 3:56am.

Welcome to issue 64 of HWN, a weekly newsletter covering developments in the Haskell community.

This issue marks the second anniversary of the Haskell (not quite) Weekly News. Thanks to the Haskell community for support, content and for reading over the last two years!


OSCON Haskell Tutorial. Simon Peyton-Jones Appeared at the O'Reilly Open Source Convention (OSCON) in Portland, delivering a range of talks, including A Taste of Haskell, A Keynote on Functional Languages, Nested Data Parallelism and Transactional Memory for Concurrent Programming. Videos are available for most of these talks: A Taste of Haskell: Part 1, A Taste of Haskell: Part 2, slides for A Taste of Haskell, Transactional Memory for Concurrent Programming and the NDP talk at the London Hugs meeting.

hpodder 1.0. John Goerzen announced version 1.0.0 of hpodder, the command-line podcatcher (podcast downloader) that just happens to be written in everyone's favorite language. You can get it here. Version 1.0.0 sports a new mechanism for detecting and disabling feeds or episodes that repeatedly result in errors, updates to the Sqlite database schema, and several bugfixes.

encoding-0.1. Henning Günther announced the release of 'encoding', a Haskell library to cope with many character encodings found on modern computers. At the moment it supports (much more is planned): ASCII, UTF-8, -16, -32, ISO 8859-* (alias latin-*), CP125* (windows codepages), KOI8-R, Bootstring (base for punycode)

Dimensional 0.6: Statically checked physical dimensions. Björn Buckwalter announced a library providing data types for performing arithmetic with physical quantities and units. Information about the physical dimensions of the quantities/units is embedded in their types and the validity of operations is verified by the type checker at compile time. The boxing and unboxing of numerical values as quantities is done by multiplication and division with units.


This week's new libraries in the Hackage library database.

Conference roundup

OSCON. Simon Peyton-Jones gave a series of popular talks about Haskell and functional programming at OSCON, in Portland. Below are collected just some of the posts about Haskell at OSCON.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • schluehk: ... Haskell taking over the world and troubled parents ask why their kids have turned into math hippies talking about nothing but love and abstract algebra...
  • JohnGoerzen: Haskell manipulates functions with the same ease that Perl manipulates strings
  • (anonymous Russian blogger): Glory to Simons! Glory to Swedish professors!
  • Laurent Sansonetti: I appreciated so much the Haskell talks that I am now learning the language.
  • dcoutts: Apparently that's only 200x faster than the faster of two common python serialisation libs, so we've got some way to go yet.
  • slava: [on Isabelle for web frameworks] IM IN UR WEB SITEZ, CODING PROVABLY-CORRECT BLINK TAG!!
  • gimboland: At present i'd say 'tinkering with a nuclear bomb' is approximately where i am with monads...
  • jcreigh: Could not find instance Ord for type ProgrammingLanguage
  • kowey: i suspect we're one of the rare wikibooks to use higher order templates
  • monochrom: 'm a -> (a -> m b) -> m b' is much more to the point than 'mumble computation mumble computation mumble computation mumble'
  • roconnor: damn it, Haskell pseudo code is indistinguishable from actual code
  • slava: Because top enterprise industry analysts recommend Because top enterprise industry analysts recommend that managers need to focus on Agile methodologies, SOA, B2B and Yoneda's lemma in today's rich internet application-driven environment. Don't get left behind by the AJAX craze by missing out on call center outsourcing and Yoneda's lemma!

Code Watch

Notable new features and bug fixes to the Haskell compilers.

Fri Jul 27 03:41:57 PDT 2007. Simon Marlow. Pointer Tagging. This patch implements pointer tagging as per our ICFP'07 paper 'Faster laziness using dynamic pointer tagging'. It improves performance by 10-15% for most workloads, including GHC itself. The original patches were by Alexey Rodriguez Yakushev, with additions and improvements by me. I've re-recorded the development as a single patch. The basic idea is this: we use the low 2 bits of a pointer to a heap object (3 bits on a 64-bit architecture) to encode some information about the object pointed to. For a constructor, we encode the 'tag' of the constructor (e.g. True vs. False), for a function closure its arity. This enables some decisions to be made without dereferencing the pointer, which speeds up some common operations. In particular it enables us to avoid costly indirect jumps in many cases. More information in the commentary.

About the Haskell Weekly News

Each week, new editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the contributing information. Send stories to dons at cse.unsw.edu.au. The darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn