Haskell Weekly News: April 25, 2009
Welcome to issue 115 of HWN, a newsletter covering developments in the Haskell community.
By all reports, the 5th Haskell Hackathon was a resounding success, with over 50 hackers present and many interesting Haskell projects worked on!
dataenc 0.12.1.0. Magnus Therning announced version 0.12.1.0 of the dataenc package. This version adds a bunch of new encodings, including xxencode, hexadecimal, quoted-printable, python escaping, and url encoding; and also fixed some bugs.
list-tries-0.0 - first release. Matti Niemenmaa announced the first public release of list-tries, a library providing implementations of finite sets and maps for list keys using tries, both simple and of the Patricia kind. The data types are parametrized over the map type they use internally to store the child nodes: this allows extending them to support different kinds of key types or increasing efficiency.
curl-1.3.5. Sigbjorn Finne announced a new release of the curl package, which provides Haskell bindings to libcurl. It works with ghc 6.10.2, taking into account the updated story on how to register Haskell-based finalizers.
funsat-0.6. Denis Bueno announced version 0.6 of funsat, a modern, DPLL-style SAT solver written in Haskell. Funsat solves formulas in conjunctive normal form and produces a total variable assignment for satisfiable problems. Version 0.6 adds a representation for logical circuits (and, or, not, onlyif, iff, if-then-else) supporting efficient conversion to CNF, and now uses the BSD3 license.
control-monad-exception-0.1: Explicitly typed exceptions. Pepe Iborra announced the control-monad-exception package, which provides explicitly typed exceptions for Haskell. The type of a computation in the EM monad carries a list of the exceptions that the computation may throw. A exception is raised with 'throw', which in addition adds it to the type, and captured with 'catch', which correspondingly removes it from the type. Only safe computations (all exceptions handled) can escape from the monad.
Haskell Implementers' Workshop 2009 (co-located with ICFP). Simon Marlow issued a call for talks to be given at the ACM SIGPLAN Haskell Implementers' Workshop, to be held on September 3 in Edinburgh, Scotland, in conjunction with ICFP 2009. The proposal deadline in 15 June. The Haskell Implementers Workshop is a new workshop to be held alongside ICFP 2009 this year in Edinburgh, Scotland. There will be no proceedings; it is an informal gathering of people involved in the design and development of Haskell implementations, tools, libraries, and supporting infrastructure.
A pragmatic Haskell .NET interop layer, 0.4.0. Sigbjorn Finne announced a new release of hs-dotnet, a Haskell .NET interop layer. It lets you access .NET functionality from Haskell and vice versa. The new version includes development done since the start of the year. Apart from rewriting the internals completely to put it all on a sounder footing, this release includes proper support for .NET generic types (classes and interfaces), mapping them naturally on to Haskell parameterized types.
Utrecht Haskell Compiler (UHC) -- first release. atze announced the first public release of the Utrecht Haskell Compiler (UHC). UHC supports almost all Haskell98 features plus many experimental extensions. The compiler runs on MacOSX, Windows (cygwin), and various Unix flavors. Features include multiple backends, including a bytecode interpreter backend and a GRIN based, full program analysing backend; experimental language extensions, some of which have not been implemented before; implementation via attribute grammars and other high-level tools; and ease of experimentation with language variants, thanks to an aspect-oriented internal organisation.
6.10.3 plans. Ian Lynagh announced plans for a 6.10.3 release of GHC, in order to fix the handling of ^C in ghci. 6.10.3 will also use haskeline instead of editline.
A HERE Document syntax. Jason Dusek proposed a lightweight syntax for HERE documents in Haskell.
Functor and Haskell. Daryoush Mehrtash asked about the link between functors in category theory and Haskell's Functor class; the resulting thread is a good introduction to the connections between Haskell and category theory for those just learning the latter.
breaking too long lines. Christian Maeder asked how to break long lines in Haskell source, leading to an interesting discussion of coding style.
Haskell consultant wanted to develop small, Mac-based utility in Haskell or AppleScript. R J announced an opportunity to develop a short program to annotate lists of words with their definitions.
Blog noiseHaskell news from the blogosphere.
Twan van Laarhoven: Where do I get my non-regular types?.
Sebastian Fischer: Reinventing Haskell Backtracking.
Darcs: darcs hacking sprint #2 report.
Well-Typed.Com: Platform progress and the Hackathon.
Roman Cheplyaka: Hac5: the rest of the story (almost).
Twan van Laarhoven: A non-regular data type challenge.
Magnus Therning: dataenc 0.12.1.0 released.
Christophe Poucet (vincenz): Flattening Data.Map.
Roman Cheplyaka: Hac5: second day.
Xmonad: contribs review.
GHC / OpenSPARC Project: Loose ends and register pairing.
Sean Leather: Latest on the incremental fold and attributes.
>>> Matthew Podwysocki: Functional Solution for the Shortest Path Problem .
Chris Smith: Code for Manipulating Graphs in Haskell.
Austin Seipp: A little fun with Haskabelle. Proving things about *existing* Haskell code in Isabelle.
Martijn van Steenbergen: Hac5-Saturday.
Antoine Latter: Using Haskeline.
Darcs: darcs weekly news #26.
Martijn van Steenbergen: Hacking GHC-What I've learned.
>>> Brandon Simmons: Initial tests of Tries: Follow Up.
>>> Lab 49: The Algebra of Data, and the Calculus of Mutation.
Martijn van Steenbergen: Hac5-Friday. Pictures from the Hackathon.
>>> Matthew Podwysocki: Haskell and Collective Intelligence .
Quotes of the Week
- Gracenotes: foldr chosen for its magical evil terminating powers
- uninverted: Moving from lisp to haskell with respect to functions is like moving from c to perl with respect to strings.
- Berengal: [On infinitely fast computers] The OS probably has a failsafe built in: If a program is running it's in an infinite loop and needs to be killed...
- nikki93: After a bit more delving, I've come to see the power of haskell at last. You have to treat functions like crap, forget about the C idea that they're 'big things'. They're not.
- Berengal: I was squashing a bug, got frustrated, and typed "fix error" in ghci...
About the Haskell Weekly News
To help create new editions of this newsletter, please
see the information on how
to contribute. Send stories to
byorgey at cis dot upenn
dot edu. The darcs repository is available at
darcs get http://code.haskell.org/~byorgey/code/hwn/