Learn Haskell in 10 minutes. Chris Smith prepared a new tutorial on the basics of Haskell
Haskell Program Coverage 0.4. Andy Gill announced release 0.4 of Hpc, a tool for Haskell developers. Hpc is a tool-kit to record and display Haskell Program Coverage. Hpc includes tools that instrument Haskell programs to record program coverage, run instrumented programs, and display the coverage information obtained.
Uniplate 1.0. Neil Mitchell announced Uniplate (formerly known as Play), a library for boilerplate removal requiring only Haskell 98 (for normal use) and optionally multi-parameter type classes (for more advanced features).
Atom: Hardware description in Haskell. Tom Hawkins announced Atom, a high-level hardware description language embedded in Haskell that compiles conditional term rewriting systems into conventional HDL.
Catch. Neil Mitchell announced a pattern-match checker for Haskell, named Catch. Do you sometimes encounter the dreaded 'pattern match failure: head' message? Do you have incomplete patterns which sometimes fail? Do you have incomplete patterns which you know don't fail, but still get compiler warnings about them? Would you like to statically ensure the absence of all calls to error? This is what Catch helps ... catch!
Haskell Communities and Activities Report. Andres Loeh announced that the Haskell Communities and Activities Report is now available, covering the increasingly diverse groups, projects and individuals working on, with, or inspired by Haskell.
The Reduceron. Matthew Naylor announced the Reduceron, a processor for executing Haskell programs on FPGA with the aim of exploring how custom architectural features can improve the speed in which Haskell functions are evaluated. Being described entirely in Haskell (using Lava), the Reduceron also serves as an interesting application of functional languages to the design of complex control circuits such as processors.
Data.Derive. Neil Mitchell announced Data.Derive, a library and a tool for deriving instances for Haskell programs. It is designed to work with custom derivations, SYB and Template Haskell mechanisms. The tool requires GHC, but the generated code is portable to all compilers. We see this tool as a competitor to DrIFT.
Piffle, a packet filter language. Jaap Weel announced Piffle, a compiler for a packet filter language in Haskell: a good example of how Haskell can be used in an application domain (low level computer networking) where people tend to use C for everything, including writing compilers.
Towards a Programming Language Nirvana. Simon Peyton-Jones appears on video, talking about the Haskell path to programming language Nirvana
Yi 0.2. Jean-Philippe Bernardy announced the 0.2.0 release of the Yi editor. Yi is a text editor written and extensible in Haskell. The goal of Yi is to provide a flexible, powerful and correct editor core dynamically scriptable in Haskell. Yi si also a Haskell interpreter, very much like emacs is a Lisp interpreter, this makes really easy to dynamically hack, experiment and modify Yi. All tools and goodies written in haskell are also readily available from the editor. This is implemented by binding to the GHC API.
Foreign.AppleScript. Wouter Swierstra announced a library for compiling and executing AppleScript from Haskell. AppleScript is a scripting language available on all modern Apple computers. It can be used to script most applications on running on MacOS X.
Harpy. Dirk Kleeblatt announced Harpy, a library for run-time code generation of x86 machine code. It provides not only a low level interface to code generation operations, but also a convenient domain specific language for machine code fragments, a collection of code generation combinators and a disassembler. Lennart Augustsson has written a series of articles demonstrating its use for fast EDSLs.
Yaml Reference. Gaal Yahas announced a Haskell (Cabal) package containing the YAML spec productions wrapped in Haskell magic to convert them to an executable parser. The parser is streaming. It isn't intended to serve as a basis for a YAML tool chain; instead it is meant to serve as a reference implementation of the spec.