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


New Haskell tutorial. Miran Lipovaca (BONUS) has written a new and most excellent Haskell tutorial, "Learn You a Haskell For Great Good!".

Glob 0.1, globbing library. Matti Niemenmaa announced the release of Glob 0.1, a small library for glob-matching purposes based on a subset of zsh's syntax.

hledger 0.1, command-line accounting tool. Simon Michael announced the first release of hledger, a command-line accounting tool similar to John Wiegley's c++ ledger. hledger generates simple ledger-compatible transaction and account balance reports from a plain text ledger file.

[ANN] Haskell Cheatsheet v1.0. Justin Bailey announced a "cheat sheet" for Haskell, a PDF that tries to summarize Haskell 98's syntax, keywords and other language elements.

Salsa: A .NET Bridge for Haskell. Andrew Appleyard announced the first release of Salsa, an experimental Haskell library that allows Haskell programs to access .NET libraries. Salsa operates by loading the .NET runtime into your Haskell process and using the FFI (and run-time code generation) to marshall calls between the .NET and Haskell runtimes. It includes a code generator and a type-level library (which uses type families) to provide type-safe access to .NET libraries in Haskell with C#-style method overload resolution and implicit conversions.

maccatcher-1.0.0. Jason Dusek announced the maccatcher package, which obtains a MAC address on *NIX and Windows.

Call for Contributions - Haskell Communities and Activities Report, November 2008 edition. Janis Voigtlaender sent out call for contributions to the 15th edition of the Haskell Communities & Activities Report. The submission deadline is 31 October 2008. If you are working on any project that is in some way related to Haskell, please write a short entry and submit it. Even if the project is very small or unfinished or you think it is not important enough -- please reconsider and submit an entry anyway!

Data.IVar 0.1. Luke Palmer announced the release of the Data.IVar module, which provides write-once variables that can be blocked on in parallel. Unlike other implementations, Data.IVar does not use thread racing, since empirical tests have shown that the GHC scheduler is not quite good enough to handle thread-racing efficiently.

A wiki page for managing the 6.10 handover. Don Stewart announced a wiki page to help with the transition to GHC 6.10. It collects the 7 or so known issues that break code with GHC 6.10. Please feel free to clean up, and especially add techniques for handling each change.

GHC 6.10.1 RC 1. Ian Lynagh announced GHC, the first release candidate for GHC 6.10.1. There is also a status page for GHC 6.10.1.

Graphalyze-0.4 and SourceGraph-0.2. Ivan Lazar Miljenovic announced the release of version 0.4 of the Graphalyze library and version 0.2 of the SourceGraph programme. SourceGraph is a programme designed to help you analyse the static complexity of your Haskell code when represented as a graph. These releases fix the bugs reported by Gwern Branwen, Magnus Therning, and Christopher Hinson.

ListZipper- Ryan Ingram announced the release of a simple list zipper library to Hackage, ListZipper-

darcs 2.1.0. Eric Kow announced the release of darcs 2.1.0. This version provides over 20 bug fixes and 7 new features since darcs 2.0.2. Most notably, the darcs-2 repository format is now the default, there is better HTTP support, and a longstanding 'pending patch' regression has been fixed.

Yi Jean-Phillipe Bernardy announced the 0.5 release of Yi, a text editor written and extensible in Haskell. The long-term goal of the Yi project is to provide the editor of choice for Haskell programmers.


OT: Haskell desktop wallpaper?. Magnus Therning asked for Haskell-themed desktop wallpapers, and the community responded with quite a few nice images.

Abusing quickcheck to check existential properties. Norman Ramsey asked about using QuickCheck to check existential properties; suggestions involved SmallCheck and skolemization.

Repair to floating point enumerations?. Malcolm Wallace began a discussion on the merits of changing the (admittedly wonky) H98 semantics for the Enum instances of Float and Double in Haskell Prime.

A general question about the use of classes in defining interfaces. S. Doaitse Swierstra asked about the feasibility of including top-level functions implemented using Applicative combinators as class methods with default implementations, to allow for the possibility of giving them more efficient implementations in specific instances.

Proposal #2659: Add sortOn and friends to Data.List. Twan van Laarhoven proposed adding sortOn (:: Ord b => (a -> b) -> -> [a) and related functions to Data.List.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

About the Haskell Weekly News

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.

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/ .