Haskell Weekly News: February 13, 2006

Submitted by dons on Mon, 02/13/2006 - 9:27pm.

Haskell Weekly News: February 13, 2006

Greetings, and thanks for reading issue 24 of HWN, a weekly newsletter covering developments in the Haskell community. Each Monday, new editions are posted to the Haskell mailing list and to The Haskell Sequence. RSS is also available.


  • FFI Imports Packaging Utility. Dimitry Golubovsky announced the pre-release of the FFI Imports Packaging Utility (ffipkg), a new member of the HSFFIG package.

    The `ffipkg' utility prepares a Haskell package containing FFI imports for building by accepting locations of C header and foreign library files as command line arguments and producing Haskell source files with FFI declarations, a Makefile, a Cabal package descriptor file, and a Setup.hs file suitable for running the Cabal package setup program. The utility acts as a "driver" running the C preprocessor, the equivalent of the hsffig program, and the source splitter.

    darcs get --partial http://hsffig.sourceforge.net/repos/hsffig-1.1

  • Haskell in Higher Education. John Hughes announced that the result of his survey into the use of Haskell in higher education are out. The survey covers 89 universities, accounting for 5-10,000 students being taught Haskell this academic year. The results are available on the web.


This section covers activity on Haskell' this week.


  • Generic catch in a MonadIO. Oleg Kiselyov forked an interesting discussion, with code, on formulating a generic catch function.
  • RFC: Streams. Bulat Ziganshin posted a request for feedback on the interface of a new Streams library CharEncoding transformers.
  • RFC: Time Library 0.3. Ashley Yakely announced the third draft of a replacement for the standard time library.

  • Eliminating Multiple-Array Bound Checking through Non-dependent Types . Oleg also writes on writing code with non-trivial static guarantees in the present-day Haskell (i.e., Haskell98 + rank-2 types). He describes how to eliminate array bounds checking when processing several arrays at a time. The number of arrays to process is not statically known. Furthermore, the arrays may have different sizes and bounds -- potentially, empty and non-overlapping too. Excellent stuff.

  • Haskell #1 in Great Language Shootout. As of Friday Haskell is ranked overall 1st on the Great Language Shootout, and 2nd fastest. Thanks to the following people (in alphabetical order) who've contributed code and ideas (and apologies if I've missed any one!): Aaron, Alson, Bertram, Bjorn, Branimir, Brian, Bryn, Cale, Chris, David, Don, Einar, Greg, Iavor, Jan-Willem, Jean-Philippe, Jeff, Joel, Johannes, Josh, Ketil, Kimberly, Lemmih, Matthias, Mirko, Sebastian, Simon and Udo.

Code Watch

  • Command line completion.

    Mon Feb  6 04:26:54 PST 2006  Simon Marlow
        * Basic completion in GHCi
        This patch adds completion support to GHCi when readline is being
        used.  Completion of identifiers (in scope only, but including
        qualified identifiers) in expressions is provided.  Also, completion
        of commands (:cmd), and special completion for certain commands
        (eg. module names for the :module command) are also provided.
  • Contributing to HWN

    You can help us 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