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

Welcome to the HWN, Google Summer of Code special edition! I asked each of the five students with accepted GSoC projects to describe what they plan to work on. You'll find their descriptions below, with links to their blogs. And keep watching this space: as I did last summer, I plan to provide readers of the HWN with weekly updates on the progress of the GSoC projects.

Google Summer of Code

Haddock improvements! Isaac Dupree is working on improvements to Haddock. "Besides the various inevitable small fixes/improvements, my specific projects are to make cross-package documentation work, and to refactor the comment-parsing out of GHC and into the Haddock code-base."

EclipseFP. Thomas Ten Cate will be working on EclipseFP: "Compared to more mainstream languages, Haskell has surprisingly poor IDE support, even though its static typing system allows for much more help from the IDE than in the case of dynamic languages. For the Java language, a very mature and powerful IDE exists in the form of Eclipse. A plugin for Haskell support in Eclipse, called EclipseFP, is in the works, but its development has been standing still for some time. I will bring EclipseFP to a more usable state. For this, I will use the Scion IDE library, which interfaces with the GHC API, so that more advanced features like type inference become possible. I will also add support for Cabal. Hopefully, this type of IDE support will lead to greater acceptance and use of Haskell, and be useful for development as well as education."

Improving the Haskell space profiling experience. Gergely Patai's project will be focused on space profiling: "At the present moment, heap profiling Haskell programs means analysing logs off-line, using conversion tools to visualise data. However, instead of generating graphs with hp2ps, it should be possible to present the data in a graphical application in real time, which is useful while developing interactive applications, and it should also be made easier to export profiler output in different formats. The aim of the project is to create a set of tools that make heap profiling of Haskell programs easier in various ways. In particular, the following components are planned: a library to process profiler output in an efficient way and make it easily accessible for other tools in the future; a real-time visualiser (most likely using OpenGL); some kind of history manager to keep track of profiling data and make it possible to perform a comparative analysis of performance between different versions of your program; a maintainable and extensible replacement for hp2ps; and converters to provide input for other profiling tools."

haskell-src-exts -> haskell-src. Niklas Broberg: "My project, dubbed 'haskell-src-exts -> haskell-src' is really two projects in one wrapping. The first milestone is to bring my haskell-src-exts library to the point where it can supersede the old haskell-src library as the de facto package for haskell source manipulation. The main problem that I need to solve is to implement a scheme that lets the user decide what extensions to recognize when parsing a source document. Currently, haskell-src-exts assumes all extensions are always on, which means that some valid H98 programs will be incorrectly parsed due to stolen syntax by e.g. Template Haskell. The second milestone is to extend the focus from source code to full source documents, and implement a scheme for handling comments as well. The ultimate goal here is to have (pretty . parse) == id, to allow haskell-src-exts to be run on source documents without changing them. This would open up for some really interesting applications, in particular refactoring tools that could automatically apply transformations to a source document while still preserving comments."

darcs. Last but not least, Petr Rockai will be working on improvements to darcs: "My project revolves around the idea of fast darcs for medium and large repositories. Three are quite a few haskellers who use darcs in their day to day (haskell) work. A fair number of hackage packages is maintained in darcs. Even though many of these repositories are of a relatively modest size, there is a number of relatively large real-world darcs repositories out there. The primary target of the project is to improve scalability of darcs for large working trees. This should help those users with existing large darcs repositories, as well as encourage people to use darcs for larger projects, whenever the development model fits. I intend to make the darcs working tree handling comparably fast to git. And then, git is written in C, hand-tuned for a specific operating system. And unlike mercurial, I do not plan to introduce a C library for low level routines. So let's prove that Haskell is up to the challenge."

Announcements

2009.2.1: version freeze for Haskell Platform approaching on Monday. Don Stewart announced that the last chance to propose bug fix version bumps to be included in the first minor release (2009.2.1) of the Haskell Platform is Monday. Please ensure that, as maintainer for one of the 2009.2.x series of packages, any bug fixes are in place by Monday, or they'll be bumped to the next platform release.

OpenGL 2.2.3.0. Sven Panne announced the release of a new version of the OpenGL package. This is a feature release, containing a number of changes and additions.

Programming in Haskell -- solutions to exercises. Graham Hutton announced that solutions to the exercises from "Programming in Haskell" are now available online.

Bookshelf. Emil Axelsson announced the first release of Bookshelf, a simple document organizer with some wiki functionality. Documents in a directory tree are displayed as a set of HTML pages. Documents in Markdown format are converted to HTML automatically using Pandoc.

Request for feedback: HaskellDB + HList. Brian Bloniarz requested feedback on a branch of HaskellDB which replaces the home-grown Record code with HList records.

RESTng 0.1 + RedHandlers 0.1 (request handlers) + YuiGrids 0.1 (yahoo grids). Sergio Urinovsky announced the release of three new packages developed for a RESTful web framework called RESTng: RESTng, redHandlers, and yuiGrid.

#haskell.pt IRC channel. Marco TĂșlio Gontijo e Silva announced the formation of the #haskell.pt channel on irc.freenode.net for Portuguese-speaking Haskellers.

Fun with type functions. Simon Peyton-Jones requested feedback on a draft tutorial paper about type families (aka associated data types, or type functions).

Discussion

conflicting variable definitions in pattern. Martin Hofmann asked about the possibility of repeated variables in patterns, resulting in an interesting discussion.

Removing mtl from the Haskell Platform. Russell O'Connor began a discussion around the possibility of removing the mtl package from the Haskell Platform, and replacing it with something more modern.

Jobs

PhD position in Nottingham. vxc announced the availability of a new PhD position in the Functional Programming Laboratory at the University of Nottingham. The topic of research for the project is "Programming and Reasoning with Infinite Structures": it consists in the theoretical study and development of software tools for coinductive types and structured corecursion.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

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