Haskell Weekly News: July 23, 2007

Submitted by dons on Sun, 07/22/2007 - 10:12pm.

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

This week, the HWN rises zombie-like from its repository, as your friendly HWN editor tries to get his PhD finished. This bumper issue is filled out with 100 new Haskell blog articles and dozens of new libraries!

Announcements

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.

Asterisk Gateway Interface. Jeremy Shaw uploaded a simple AGI interface to hackage. For more about Asterix, see here.

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.

Haskell'

This section covers the Haskell' standardisation process.

Libraries

This week's proposals and extensions to the standard libraries.

Hackage

This week's new libraries in the Hackage library database.
  • HsOpenSSL-0.1. Masatake Daimon HsOpenSSL 0.1, OpenSSL binding for Haskell

  • Emping-0.3. Hans Van Thiel Emping derives heuristic rules from nominal data

  • parsely-0.1. Samuel Bronson parsely, Typeclasses for parsing monads, and some instances

  • sessions-2007.7.15. Matthew Sackman sessions, Session Types for Haskell

  • CC-delcont-0.1. Dan Doel CC-delcont1, An implementation of multi-prompt delimited continuations

  • gd-3000.3.0. Bjorn Bringert gd, A binding to the GD graphics library

  • StrategyLib-4.0.0.0. Samuel Bronson StrategyLib, Strafunski's StrategyLib

  • ports-0.4.3.2. Don Stewart ports, concurrent and distributed Haskell programming in the IO monad without relying on mutable variables.

  • Finance-Quote-Yahoo-0.1. Brad Clawsie Yahoo-0.1, Obtain quote data from finance.yahoo.com

  • logict-0.2. Dan Doel LogicT, A continuation-based, backtracking, logic programming monad.

  • utf8-string-0.1. Eric Mertens utf8-string, Support for reading and writing UTF8 Strings

  • type-int-0.4. Edward Kmett type-int, Type level 2s- and 16s- complement Integers (positive and negative), Booleans, Ord and Eq

  • cgi-3001.1.5. BjornBringert cgi-3001, a Haskell library for writing CGI programs

  • xmobar-0.6. AndreaRossato xmobar, Xmobar is a minimal status bar for the XMonad Window Manager

  • monad-param-0.0.2. EdwardKmett monad-param, parameterized monads

  • dfsbuild-1.0.1. JohnGoerzen dfsbuild, dfsbuild is the program used to create the Debian From Scratch CD image.

Conference roundup

AngloHaskell. is coming up in Cambridge, August 10-11

Haskell Hackathon 07 II. Hac07 coming up in Freiburg, Oct 5-7

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • Smith's Law: Any sufficiently large test suite for a program written in a dynamic language will contain an ad-hoc, informally-specified, bug-ridden, slow, patchy implementation of half of the Haskell type system
  • pshaw: I think the key hook that allowed me to pass interview #2 was that I put the word 'Haskell' on my resume.
  • monochrom: Fear leads to uncertainty. Uncertainty leads to doubt. Doubt leads to theorem proving.
  • Adam Turoff: Let me start by being perfectly clear: if you are a professional programmer, then Haskell is in your future.
  • Apfelmus: In the end, I think that strong types is only one thing that makes Haskell programs work after compilation. The other ones are higher-order functions and *purity*. No type system can achieve what purity offers.

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