Haskell Weekly News

Haskell Weekly News: June 21, 2009

Submitted by byorgey on Sun, 06/21/2009 - 12:10pm.
Haskell Weekly News: June 21, 2009

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

Are you ready for the 12th Annual ICFP programming contest? It begins this Friday, don't miss it! Let's reclaim Haskell's rightful place as the programming language of choice for discriminating hackers.

Announcements

Haskell protocol-buffers version 1.5.0. Chris Kuklewicz announced version 1.5.0 of the protocol-buffers, protocol-buffers-descriptor, and hprotoc packages to Hackage. This catches up to Google's version 2.1.0: support for "repeated" fields for primitive types; fields can now be marked deprecated; the type name resolver will no longer resolve type names to fields; and more.

12th Annual ICFP Contest. Mark Huntington Snyder announced the 12th Annual ICFP Programming Contest, hosted by the University of Kansas Computer Systems Design Laboratory at the Information and Telecommunication Technology Center. The contest will be held on the weekend of June 26-29. The contest task will be released sixteen seconds after 13:00 Central Daylight Time (US) on Friday, and entries will be accepted until 13:00:16 CDT on Monday. There is no preregistration required, and participation is free and open to all. Teams may participate from any location, and may use any programming language(s). Read the contest blog or subscribe to the RSS feed to receive timely updates before and during the contest.

clock 0.1 released. Cetin Sert announced the release of clock, a package for convenient access to high-resolution clock and timer functions of different operating systems. It is planned to consist of two layers; the lower layer will provide direct access to OS-specific clock and timer functions like clock_gettime of Posix or GetTickCount of Windows, and its upper layer shall then provide a common API for all supported systems. Currently only the lower level is being developed.

Turbinado V0.7. Alson Kemp announced version 0.7 of Turbinado, a Ruby-On-Rails-like web server and web framework for Haskell. It is designed to make creating web application using Haskell both easy and joyful. The primary additions in version 0.7 are FastCGI support and a new templating system (which includes HAML and HTML support). Additional details can be found here.

haskeline-class. Antoine Latter announced haskeline-class, a small library providing a newtyped MonadState instance for haskeline which lifts the class operations to an inner monad (as opposed to its existing instance).

hyena. Johan Tibell announced the first release of hyena, a library for building web servers, based on the work on iteratee style I/O by Oleg Kiselyov. The library allows you to create web servers that consume their input incrementally, without resorting to lazy I/O. This should lead to more predictable resource usage.

Haskell-based iPhone development. Conal Elliott announced a collaboration wiki page for anyone working with Haskell to make iPhone apps.

Fwd: Boston Haskell June 23rd meeting: openings for Lightning Talks. Ravi Nanavati announced that there are several available slots for "lightning" (5 minute) talks at the June 23 meeting of the Boston Area Haskell Users' Group.

haskell-src-exts 1.0.0 rc1. Niklas Broberg announced a series of release candidates for haskell-src-exts-1.0.0 (as of this writing, the most recent release candidate is version 0.5.6). This version is intended to fully support parsing of almost all Haskell extensions. Please help with testing!

BostonHaskell: Next meeting - June 23rd at MIT CSAIL Reading Room (32-G882). Ravi Nanavati announced the second meeting of the Boston Area Haskell Users' Group, scheduled for Tuesday, June 23rd from 6:30pm - 8:30pm. It will be held in the MIT CSAIL Reading Room (32-G882, i.e. a room on the 8th floor of the Gates Tower of the MIT's Stata Center at 32 Vassar St in Cambridge, MA). Talks include "Automagic Font Conversion with Haskell Typeclasses" by Frank Berthold, and "Intermediate Language Representations via GADTs" by Nirav Dave.

traversal transformations. Sjoerd Visscher exhibited some code for Church-encoded container structures using their Foldable instance, and later announced the fmlist package based on the same code, along with a surprising example of a lazy 'middle-infinite' list (where elements can be taken from the beginning or the end!).

hledger 0.6 released. Simon Michael announced the release of hledger 0.6. See the announcement for a list of the new features and other information.

Discussion

Adding swap to Data.Tuple. roconnor proposed adding swap and swap' functions to Data.Tuple.

Revamping the module hierarchy. Johan Tibell began an interesting discussion about package names, module names, and the module hierarchy.

Confusion on the third monad law when using lambda abstractions. Jon Strait asked about the third monad law, leading to some clarification on what precisely the law says, and some interesting discussion on idiomatic use of the (<=<) (Kleisli composition) operator.

Need some help with an infinite list. Gunther Schmidt asked for some help generating a particular infinite list, and got a number of interesting suggestions.

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

  • Botje: <Cheery> oh man. de bruijn again kicked me to groin <Botje> the easy fix is to label your groin as (-1) :)
  • Pseudonym: Telling dons that something has been added to the shootout is the new telling Oleg that it can't be done in the type system.

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

Haskell Weekly News: June 13, 2009

Submitted by byorgey on Sat, 06/13/2009 - 3:28pm.
Haskell Weekly News: June 13, 2009

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

Announcements

purely functional lazy non-deterministic programming. Sebastian Fischer announced the explicit-sharing library, which supports lazy functional-logic programming in Haskell.

nntp 0.0.1. Maciej Piechotka announced the release of nntp, a library to connect to nntp (i.e. mainly USENET) servers.

OpenGLRaw 1.0.0.0. Sven Panne announced the release of OpenGLRaw, a low-level binding for OpenGL. The eventual goal is to make the OpenGL package easier to install, more modular and a bit more flexible.

pgm-0.1 on Hackage. Frederick Ross announced pgm, a pure Haskell library to read and write PGM images. It seamlessly handles the divide between 1 and 2 byte per pixel images; reads and writes UArrays; can handle multiple PGMs concatenated one after another in a file; and encodes and decodes all comments in the PGM header, which can be used to drop arbitrary metadata into files in a human readable manner.

iteratee-0.2.1 released. John Lato announced the release of iteratee-0.2.1, a major update to the iteratee library. This library provides types and functions for performing enumerator/iteratee based I/O operations in Haskell, as described by Oleg. The new version is a large redesign, including support for resumable exceptions and a greatly simplified interface.

testrunner-0.9. Reinier Lamers announced testrunner, a new framework for running unit tests. It can run unit tests in parallel; can run QuickCheck and HUnit tests as well as simple boolean expressions; and comes with a ready-made main function for your unit test executable.

serial-0.2. Frederick Ross announced version 0.2 of serial, a library for working with line-oriented POSIX serial ports.

hunp-0.0. Deniz Dogan announced hunp, a command-line utility which automagically calls the right "unpacker" program for you and works on both files and directories.

Nemesis : easy task management. Jinjing Wang announced a new release of nemesis, a simple rake-like task management tool.

Data.Reify.CSE. Sebastiaan Visser announced the data-reify-cse module, which implements common sub-expression elimination for graphs generated by the Data.Reify package. This package might especially be useful for optimizing simple compilers for referentially transparent domain specific languages.

Hac phi accommodation: register by June 15 for reduced rate! Brent Yorgey reminded anyone interested in attending Hac phi that Monday 15 June is the deadline for getting a special reduced hotel rate.

alloy-1.0.0 (generic programming). Neil Brown announced the first release of the Allow generic programming library. It is intended to be a fairly fast blend of several other generics approaches, such as SYB (but without the dynamic typing) and Uniplate (but allowing an arbitrary number of target types), for performing transformations on specific types in large tree structures.

StrictBench 0.1 - Benchmarking code through strict evaluation. R.A. Niemeijer announced the release of StrictBench, a library for timing full evaluation of values.

haskeem 0.7.0 uploaded to hackage. Uwe Hollerbach announced haskeem, a small scheme interpreter written in Haskell.

numtype 1.0 -- Type-level (low cardinality) integers. Bjorn Buckwalter announced the Numeric.NumType module, now released as its own package, which implements a unary type-level representation of integers, supporting addition, subtraction, multiplication, and division.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

space profiling. Gergely Patai has some pretty graphs generated by his profiling library.

haskell-src-exts. Niklas Broberg is quite close to releasing haskell-src-exts 1.0.0, as soon as he has full and correct support for (almost) everything code-related, with only a few things left to do. He also wrote a post explaining the intricacies of parsing code containing the 'forall' keyword (well, whether it is a keyword depends on which extensions are enabled...)

fast darcs. Petr Rockai made a bit less progress this week, with finals and other things interfering, but made some progress on some documentation, tracking down a performance regression, and other things.

Discussion

Adding an ignore function to Control.Monad. Gwern Branwen proposed adding an 'ignore' function to Control.Monad which explicitly changes an m a into a m (). Bikeshedding (and some useful discussion) ensued.

Wiki user accounts. Philippa Cowderoy began a discussion of what to do about the current situation with wiki user accounts (namely, that account creation is disabled due to spam, and the one maintainer of the wiki can't always respond to account creation requests instantly).

Lightweight type-level dependent programming in Haskell. Ryan Ingram made an interesting post about implementing lightweight closed type classes in Haskell.

who's up for a hackathon? (ICFP, late Aug, early Sept). Eric Kow wanted to know who would be interested in having a hackathon immediately before or after ICFP in Edinburgh.

Jobs

Galois is hiring functional programmers. Don Stewart announced that Galois is hiring! See the announcement for more details.

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

  • sjanssen: in our sub-culture, "considered harmful" means "burn it with fire"
  • quicksilver: after all, anyone who insists on talking about himself in the third person is clearly someone to be reckoned with.

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

Haskell Weekly News: June 6, 2009

Submitted by byorgey on Sat, 06/06/2009 - 12:51pm.
Haskell Weekly News: June 06, 2009

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

Sorry for the massive HWN, I missed last week so you're getting two for the price of one! Registration for Hac phi is now open, be sure to register soon (register by June 15 to get a special hotel rate).

Announcements

Reminder: Haskell Implementers' Workshop CFT deadline in 2 weeks. Simon Marlow reminded everyone to consider submitting a talk proposal for the Haskell Implementers' Workshop, to be held in conjunction with ICFP in Edinburgh, Scotland on 5 September. The deadline for submissions is a couple of weeks away (15 June); all that is needed is an abstract.

storable-record. Henning Thielemann announced storable-record, a small package for simplified declaration of Storable instances for records. It may be used as an alternative to the c2hs preprocessor. It was made possible by advanced applicative technology, a cutting edge LCM monoid and an incredible constructor power tower.

Haskell Communities and Activities Report (16th ed., May 2009). Janis Voigtlaender announced the availability of the 16th Haskell Communities and Activities Report.

hledger 0.5 released. Simon Michael announced the release of version 0.5 of hledger, a (mostly) text-mode double-entry accounting tool that generates precise activity and balance reports from a plain text journal file.

New repository and trac for haskell-src-exts. Niklas Broberg announced some new infrastructure for the haskell-src-exts package, set up in preparation for his GSoC project. with the HSP packages, it's now old enough to be allowed to live on its own. There is also a bug tracker. Please help by reporting any bugs you come across, or by requesting new and cool features.

bsd-sysctl 1.0.3. Maxime Henrion announced the release of bsd-sysctl 1.0.3, a package that provides a System.BSD.Sysctl module allowing access to the C sysctl(3) API. It should fully work on FreeBSD, NetBSD and Mac OS X platforms.

multirec-binary. Sebastiaan Visser announced the release of multirec-binary, which allows generic derivation of Data.Binary instances using the MultiRec library.

notice for package authors. Duncan Coutts announced that Hackage uploads will soon require an upper bound on the version of the base package and reject packages that omit it. This will hopefully result in less breakage the next time a new version of the base package is released.

(Pre-) Announce: Data.GDS 0.1.0. Uwe Hollerbach (pre-) announced Data.GDS, a small module to write and (eventually) read GDS files, a classic format of the semiconductor industry. The module can currently generate GDS files with a fairly low-level interface; planned future versions (which will be uploaded to Hackage) will have a higher-level interface and be able to parse GDS files as well.

new version of uu-parsinglib. S. Doaitse Swierstra announced that a new version of the uu-parsinglib library has been uploaded to hackage. It is now based on Control.Applicative where possible. Be warned that functions like some and many will be redefined in the future.

Hac phi: Haskell hackathon in Philadelphia, July 24-26. Brent Yorgey announced Hac phi, a Haskell hackathon/get-together to be held July 24-26 at the University of Pennsylvania in Philadelphia. The hackathon will officially kick off at 2:30 Friday afternoon, and go until 5pm on Sunday (with breaks for sleep, of course). Everyone is welcome---you do not have to be a Haskell guru to attend! Helping hack on someone else's project could be a great way to increase your Haskell-fu. If you plan on coming, please register. There is a block of hotel rooms available at a special rate only until June 15, so register early! More details can be found on the Hac phi wiki.

Job for someone: make a VM image for GHC development. Simon Marlow suggested a useful project for someone looking for something to do: create a VM image of a Linux system with a complete GHC development environment set up and ready to go.

My attempt at Haskell USB. Mauricio announced some Haskell bindings to libusb, and gave another plug for his bindings-common package, which makes it easier to generate Haskell bindings to low-level libraries.

second alpha release of OSX haskell platform installer. Gregory Collins announced a second candidate release for the OSX Haskell Platform installer. Please try it out!

Release Schedule for 2009.2.0.2. Don Stewart announced the release schedule for the next minor release of the 2009.2.0 branch of the Haskell Platform. The freeze for package changes will be Wednesday 1 July, and the release is scheduled for Monday 13th July.

hscamwire, for IIDC1394 cameras. Frederick Ross announced the release of hscamwire 0.1, which provides a nice Haskellized layer over Camwire, a library to connect to IIDC1394 cameras (most scientific and industrial Firewire cameras) on Linux.

Safe and generic printf with C-like format string. oleg announced some code to implement a type-safe polyvariadic version of printf, which is also integrated with Show so that any showable type can be printed.

A library for serial ports. Frederick Ross announced the release of serial-0.1, a library for line-oriented interaction with serial ports on POSIX compatible systems.

HaL4: Haskell-Meeting in Germany, 12th June 2009. Janis Voigtlaender reminded everyone of Hal4, a German-language Haskell gathering to be held in Halle/Saale on June 12. There are already close to 50 registered participants, so expect a very lively meeting! Late registration still possible.

wp-archivebot 0.1 - archive Wikipedia's external links in WebCite. Gwern Branwen announced wp-archivebot, a relatively simple little script which follows all the links in a RSS feed, combs the destination for http:// links, and submits them to WebCite.

memscript-0.0.0.2. Ki Yung Ahn announced memscript, a command line utility for memorizing scriptures or any other text.

HSH 2.0.0. John Goerzen announced the release of version 2.0.0 of HSH, the Haskell shell scripting library. This version features a complete rewrite of the core using System.Process, a drastic reduction in code size and complexity, cross-platform support, and a simpler and more flexible API.

atom-0.0.5. Tom Hawkins announced version 0.5 of the atom library, a DSL for embedded hard realtime applications. This version includes a few bug fixes and doc improvements.

heap-1.0.0. Stephan Friedrichs announced a rewrite of the heap package, heap-1.0.0. It is not 100% compatible with version 0.6.0, but provides major improvements, including a better mechanism for instantiating min-, max-, min-prio- and max-prio-heaps, and faster {from,to}{Asc,Desc}List conversions.

The Haskell Platform 2009.2.0.1. Don Stewart announced the second release (2009.2.0.1) of the Haskell Platform, a single, standard Haskell distribution for everyone. The specification, along with installers (including Windows and Unix installers for a full Haskell environment) are available.

Anglohaskell 2009. Philippa Cowderoy announced Anglohaskell 2009, to be held at MSR Cambridge on the 7th and 8th of August.

code reviewers wanted for hashed-storage (darcs). Eric Kow solicited anyone with a few spare hours this summer willing to help the Darcs project as a code reviewer for the standalone hashed-storage module, which will be used by Darcs in the future. No Darcs experience is needed!

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Haddock improvements. Isaac Dupree has begun looking at the Haddock code, and has a question about which of two options he should pursue.

EclipseFP. Thomas Ten Cate has posted an explanation of how the Scion client/server model works.

Space profiling. Gergely Patai has uploaded a preliminary version of the hp2any core library which handles heap profiles both during and after execution. He has also posted some pretty graphs generated by a simple utility built on top of the core library.

haskell-src-exts. Niklas Broberg has begun work by making a list of all language extensions and the ways in which they affect lexing and parsing, since haskell-src-exts will need to be parameterized over these extensions.

Fast Darcs. Petr Rockai has posted two detailed progress reports already, with many changes to both the standalone hashed-storage library and a fork of darcs which uses it.

Discussion

Error message reform (was: Strange type error with associated type synonyms). Max Rabkin began an interesting discussion about error messages. Do you have an intuitive sense of which is the 'expected' and which the 'inferred' type?

time library dependencies. Ashley Yakeley asked what dependencies are acceptable for the time library, leading to a discussion of what dependencies are acceptable for base packages.

Bool as type class to serve EDSLs. Sebastiaan Visser started a discussion on the possibility of a type class for representing Boolean values, much like the current Num class for numeric values.

Jobs

10 jobs in declarative programming. Oege de Moor announced the availability of positions with Semmle and LogicBlox for ten declarative programming consultants, who will work with clients to write custom queries in Datalog, and to create user interfaces in a declarative framework. Semmle and LogicBlox are creating a platform for declarative programming in Datalog, a pure logic programming language. Semmle is based in Oxford, headed by Oege de Moor; LogicBlox is based in Atlanta, headed by Molham Aref. See the announcement for more information and how to apply.

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

  • pumpkin: we should throw it [CReal] in with Foreign.C.Types to confuse people
  • MyCatVerbs: The *real* best way to optimize a program is to tell dons that it's been added to the Shootout.
  • SimonFrankau: The points-free approach, while elegant, can make code unreadable, especially if it is written by quantitative analysts moonlighting as functional programmers.
  • ValarQ: l33t_h4x0r: could you help me port GHC to the AVR architecture? <-- l33t_h4x0r has left #haskell
  • gwern: drat. what *do* all you people talk about? only one bacon and one zombie quote
  • quicksilver: well if you can get proggit to help with your interview, then perhaps you can get proggit to help with the job when you get it. So it's not cheating, it's just an indication of one of your skill sets.
  • shapr: I haven't tried F#, everytime I get the urge to do something fun with .NET I have SharePoint flashbacks and buy more hardware instead.
  • gwern: bleh. haskell is messing me up. I wondered what operator =) is, before I realized it was a syntax error, before I realized it was an emoticon

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

Haskell Weekly News: May 23, 2009

Submitted by byorgey on Sat, 05/23/2009 - 3:30pm.
Haskell Weekly News: May 23, 2009

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

Announcements

GHC porting works again. Ian Lynagh announced that the instructions for porting GHC to a new architecture now work again with the HEAD. If you get stuck when trying to do a port, feel free to ask on cvs-ghc at haskell.org or in #ghc on freenode.

6.10.4 plans. Ian Lynagh announced plans for a 6.10.4 bugfix release of GHC. If you know of any bugs that you think should be looked into for 6.10.4, please let the development team know.

The Timber compiler 1.0.3. Johan Nordlander announced the release of version 1.0.3 of the Timber compiler. Timber is a modern language for building event-driven systems, based around the notion of reactive objects. It is also a purely functional language derived from Haskell, although with a strict evaluation semantics. 1.0.3 is a bug fix release, paving the way for future feature releases.

mathlink-2.0.0.3. Tracy Wadleigh announced the release of mathlink, a library for writing Mathematica packages in Haskell. One simply writes some functions of type (MLGet a, MLPut b) => a -> IO b and provides a package specification in a simple DSL; the result is a program that exposes functions that can be called from Mathematica.

text 0.2, fast and comprehensive Unicode support using stream fusion. Bryan O'Sullivan announced the availability of text 0.2, an efficient Unicode text library that uses stream fusion. New and notable in this release is support for lazy, chunked text, so you can process text files far larger than memory using a small footprint.

Haskell Hackathon in Philadelphia. Brent Yorgey announced Hac phi, a Haskell hackathon to be held in Philadelphia in July. Check out the wiki page and add your name if you are interested in attending! More details to follow soon.

feed2twitter 0.2 & hackage2twitter 0.2.1. Tom Lokhorst announced the first release of feed2twitter, a library for sending posts from a news feed to Twitter.

EsotericBot 0.0.1. spoon announced the release of Esotericbot, a sophisticated, lightweight IRC bot, written in Haskell.

atom 0.0.4. Tom Hawkins announced a new release of atom; this version adds an array datatype (A a).

Hieroglyph-2.21 and buster, buster-gtk, and buster-network-2.0. Jeff Heard announced new releases of Hieroglyph, buster, buster-gtk, and buster-network, with tons of changes; read Jeff's original announcement for details.

TxtSushi 0.1. Keith Sheppard announced the first version of TxtSushi, a collection of command line utilities for processing tab-delimited and CSV files. It includes a utility for doing SQL SELECTs on flat files.

Discussion

Should exhaustiveness testing be on by default? Don Stewart started a discussion, prompted by a recent blog post, on whether coverage checking should be on by default, and other issues relating to compiler warnings and coding style.

Proposal on the platform API policy question. Duncan Coutts proposed a general policy for Haskell Platform release cycles and versioning, based on input from previous discussions.

the problem of design by negation. Michael Mossey began a discussion on software design philosophies. "Design by negation" considered harmful?

Haskell in 3 Slides. John Van Enk asked for ideas on a 3 to 4 slide introduction to Haskell. What do YOU think should be on those slides?

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

  • roconnor: Damn it, I don't know how to make this as slow as python.
  • koeien: Let's register it [monomorphismrestriction.com] to prevent it from being used ;)
  • Elly: Rule 1 of malloc is the same as rule 1 of air travel: "Attempt at all costs to keep your number of landings equal to your number of takeoffs."
  • monochrom: I was trying to design a sensible language... then I downloaded ghc.
  • conal: The C ADT is implemented simply as String (or char *, for you type theorists, using a notation from Kleene)
  • Will Donnelly: monads are okay after a bit (though I'm still a little suspicious of them)

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

Haskell Weekly News: May 16, 2009

Submitted by byorgey on Sat, 05/16/2009 - 7:35pm.
Haskell Weekly News: May 16, 2009

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

Welcome to the 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

  • seydar: what's the nick of the drug addict who wrote learn you a haskell? and i mean that in the best possible way.
  • roconnor: String is kinda a poor data type for strings.
  • kyevan: I had a haskell-related dream last night. Sorta. I was beaten up by some kids because I tried to go somewhere my type didn't match, apparently.
  • edwardk: Haskell 98 is the Windows 98 of standards ;)
  • PhilipWadler: I'm delighted to learn that "a monad is a monoid in the category of endofunctors"---anyone know where I can find a good tutorial?
  • David Leimbach: Don't play with your monads... eventually you'll go bind.

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

Haskell Weekly News: May 12, 2009

Submitted by byorgey on Tue, 05/12/2009 - 6:18am.
Haskell Weekly News: May 12, 2009

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

The Haskell Platform is here!

Announcements

The Haskell Platform. Don Stewart announced the first release of the Haskell Platform: a single, standard Haskell distribution for every system. The Haskell Platform is a blessed library and tool suite for Haskell culled from Hackage, along with installers for a wide variety of systems. It saves developers work picking and choosing the best Haskell libraries and tools to use for a task.

GHC version 6.10.3. Ian Lynagh announced the release of GHC 6.10.3. This release contains a handful of bugfixes relative to 6.10.2 and better line editing support in GHCi, so updating is recommend. See the release notes for more details.

Bindings for libguestfs. Richard W.M. Jones announced some partial bindings for libguestfs.

Heads up: Conflicting versions of network-2.2.1. Johan Tibell announced a heads-up that the version of network-2.2.1 that shipped with GHC 6.10 differs from the one on Hackage. If you want the API additions that are present in network-2.2.1 on Hackage, be sure to use network-2.2.1.1 instead.

hpc-strobe-0.1: Hpc-generated strobes for a running Haskell program. Thorkil Naur announced the initial release of hpc-strobe, a rudimentary library that demonstrates the possibility of using Hpc (Haskell Program Coverage) to inspect the state of a running Haskell program. hpc-strobe uses the basic machinery provided by Hpc to produce multiple tix files, also called strobes, representing the coverage at different times while the program is running. By subtracting such two tix files, again using Hpc machinery, a tix file representing the expressions used between the times of recording the subtracted tix files is produced. This may be used, for example, to get a better idea of what a long-running program is doing. It could also be used as a profiling tool, getting information about how many times individual expressions are used.

BUG FIX release of regex-tdfa-1.1.2. ChrisK announced version 1.1.2 of regex-tdfa, a bug-fix release.

Silkworm game. Duane Johnson announced the release of Silkworm, a game written in Haskell using Hipmunk and GLFW.

Discussion

Platform policy question: API compatibility in minor releases. Duncan Coutts began a discussion on versioning policies for major and minor releases, for packages included in the Haskell Platform. See also the newly started discussion on the purpose of Haskell Platform releases.

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

  • jfredett: My haskell-spider senses were tingling, I just overshot RT and went for the Halting Problem.
  • NeilBrown: I heard that if you chant "I don't think this can be done in Haskell" three times in front of a text editor, Don Stewart appears and implements it in one line...
  • bos: The last couple of times I've wanted a book like that, I wrote the book myself. It's a very effective way to get the book you want, compared to wishing.
  • edwardk: {-# LANGUAGE time to pay the cutting edge typing features tax #-}
  • SPJ: Haha this is good news, I have slipped functional programming into your brain without you realising it is something very weird.
  • EvilTerran: writing machine code by hand on tape with a magnetised needle looks good compared to PHP :P
  • Athas: I like Lisp for its extreme expressivity, but I think it's easier to make Haskell more powerful, than to make Lisp more statically safe.
  • roconnor: I can't wait for the Density Comonad chapter of "learn you a haskell"

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

Haskell Weekly News: May 2, 2009

Submitted by byorgey on Sat, 05/02/2009 - 12:36pm.
Haskell Weekly News: May 02, 2009

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

Announcements

GHC 6.10.3 prerelease. Ian Lynagh announced a prerelease version of GHC 6.10.3. There have been very few changes relative to 6.10.2. Unless any major problems are uncovered, the final release is expected to be built in a couple of days.

graphviz-2009.5.1. Ivan Lazar Miljenovic announced version 2009.5.1 of the graphviz library, which provides a Haskell interface to the GraphViz program. Major changes include support for polyparse >= 1.1, dependency on GHC 6.10.*, functions from the Graphalyze library, and more.

priority-sync-0.1.0.1: Cooperative task prioritization.. Christopher Lane Hinson announced the release of the priority-sync package for cooperative task prioritization.

HaL4: Local Haskell meeting, Halle/Saale, Germany, June 12. Henning Thielemann requested proposals for talks for HaL4, a local Haskell meeting in Halle, Germany on June 12.

TraverseAccum: an effectful accumulating map.. Florent Balestrieri posted some code implementing an effectful accumulating map.

LondonHUG talk: Engineering Large Projects in Haskell. Don Stewart posted slides from last week's London HUG talk, which attempts to document some of the tips and tricks Galois has accumulated using Haskell commercially for the past 10 years.

atom-0.0.2. Tom Hawkins announced the release of atom, a Haskell DSL for designed hard realtime embedded programs. Eaton is using it to control hydraulic hybrid refuse trucks and shuttle buses.

Bamse-0.9.4, a Windows Installer generator. Sigbjorn Finne announced a new version of Bamse, a package and application for letting you quickly put together Windows Installers for your software projects/products from within the comforts of Haskell. New in this release is the support for generating MSIs from your Cabal projects, having them either be built from source or just have them be installed and registered at install-time.

Dutch Haskell Users' Group (first meeting: May 6th). Chris Eidhof announced the first meeting of the newly formed Dutch Haskell Users' Group (DHUG), on May 6th at 19:30 in Utrecht.

Haskell Symposium Submission site now open. Stephanie Weirich announced that submission to the Haskell Symposium is now open. The submission deadline is May 8.

OpenGL, GLUT, OpenAL, and ALUT updates. Sven Panne announced new bugfix releases for the OpenGL, GLUT, OpenAL, and ALUT packages.

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 File Manager. Michael Dever announced the first release of Haskell File Manager, a program for viewing/managing the files on your computer. It has all the common functionality you would expect from your current file manager, copying, moving, deleting, renaming, opening and searching.

uu-parsinglib-2.0.0. S. Doaitse Swierstra announced the release of uu-parsinglib, the first version of the new parsing combinator library package from Utrecht University. Features include online result construction, much simpler internals than the combinators in the uulib package, error correction, parsing ambiguous grammars, a monadic interface, and more.

Takusen 0.8.4. Alistair Bayley announced version 0.8.4 of Takusen, a database package; this is mostly a "get it working with ghc-6.10" release.

Discussion

Google SoC: Space profiling reloaded. Patai Gergely asked for ideas on his Google Summer of Code project to improve the Haskell space profiling experience.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • MonadState: Do not try to change the state; that's impossible. Instead only try to realize the truth: There is no state.
  • Baughn: Those who would give up essential laziness for a little ephemeral performance, deserve neither laziness nor performance.
  • Axman6: what's @flush do? saves stuff to dick?
  • bos: Crummy languages give static types a bad name.

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

Haskell Weekly News: April 25, 2009

Submitted by byorgey on Sat, 04/25/2009 - 3:59pm.
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!

Announcements

darcs hacking sprint 2 and hac5 report. Eric Kow sent out a link to a report on the second darcs hacking sprint, held as part of the Haskell Hackathon.

HPong-0.1.2: A simple OpenGL Pong game based on GLFW. R.A. Niemeijer announced the release of HPong, a simple Pong game implemented using OpenGL and GLFW.

Hac5 roundup. Martijn van Steenbergen reported on the 5th Haskell Hackathon. See the wiki page for details, pictures, and links to blog posts.

HTTP-4000.0.6. Sigbjorn Finne announced a new release of the HTTP package, which adds more robust handling of ill-formed cookies, and fixes a bug in normalization of certain proxy-bound requests.

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.

Runge-Kutta library -- solve ODEs. Uwe Hollerbach announced a Runge-Kutta library for numerically solving ordinary differential equations.

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.

persistent-map-0.0.0. Peter Robinson announced the persistent-map package, which provides a thread-safe (STM) frontend for finite map types together with a backend interface for persistent storage.

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.

Discussion

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.

Jobs

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 noise

Haskell news from the blogosphere.

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

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

Haskell Weekly News: April 17, 2009

Submitted by byorgey on Fri, 04/17/2009 - 5:47am.
Haskell Weekly News: April 17, 2009

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

The 5th Haskell Hackathon is underway in Utrecht! Happy Haskell hacking! An early HWN this week since I will be traveling this weekend (but not, unfortunately, to the Hackathon).

Announcements

Reminder: Haskell Communities and Activities Report. Janis Voigtlaender reminded everyone that the deadline for the May 2009 edition of the Haskell Communities and Activities Report is only two weeks away. If you haven't already, please write an entry for your new project, or update your old entry.

primes. Sebastian Fischer announced the release of the primes package, which implements lazy wheel sieves for efficient, purely functional generation of prime numbers in Haskell.

level-monad-0.3. Sebastian Fischer announced version 0.3 of the package level-monad, which implements breadth-first search directly as an instance of MonadPlus (without using an intermediate tree representation). Version 0.3 adds a MonadPlus instance for iterative deepening inspired by Michael Spivey's paper on Algebras for combinatorial search.

hgettext 0.1.10. Vasyl Pasternak announced a new release of the hgettext package, which now has bindings to all gettext functions.

Haskell logo in TeX. Philip Hölzenspies announced a version of the new Haskell logo design prepared using TikZ, for inclusion in LaTeX documents.

The Monad.Reader (14) - Call for copy. Wouter Swierstra issued a call for copy for Issue 14 of The Monad.Reader. The deadline for submissions is May 15, 2009. Let Wouter know if you intend to submit something -- the sooner, the better.

time 1.1.2.4. Ashley Yakeley announced the release of time 1.1.2.4, which should now compile on Windows.

Discussion

Code Golf. Sebastian Fischer started a lively round of code golf with his code for list diagonalization.

Converting IO [XmlTree] to [XmlTree]. rodrigo.bonifacio asked how to convert an IO [XmlTree] into an [XmlTree], leading to a discussion of Haskell pedagogy.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • Gracenotes: And then the type system goes all crazy and demands that x and 1 are both Word32s!
  • mauke: data What a = No; instance Monad What where { return _ = No; No >>= _ = No }
  • pumpkin: makes the next internet hit video, 2 natural transformations, 1 functor
  • mmorrow: a functor is like an analogy between two analogies
  • FliPPeh: @faq Can Conficker be rewritten in Haskell? <lambdabot> <no location info>: parse error on input `:'
  • HairyDude: The Haskell Type System is a Harsh Mistress.. there ain't no such thing as a free theorem.
  • LeCamarade: Now, let's say the set is {Haskell, SML, Ruby, Tomatoes, Human, Cabbage, Noise, IRC}.
  • pjdelport: YO DAWG I HERD YOU LIKE CARS SO WE PUT A PAIR IN YO CAR SO YOU CAN CAR WHILE YOU CAR
  • Babelfish: And there you travel: a beam tracer! Naturally, there are many things that ought to be amend.

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

Haskell Weekly News: April 13, 2009

Submitted by byorgey on Mon, 04/13/2009 - 1:52am.
Haskell Weekly News: April 13, 2009

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

Announcements

xmobar-0.9.2. Andrea Rossato announced the release of xmobar-0.9.2, which features a fix for a longstanding resource leakage bug, new nested color definitions, and more.

CFP Haskell Symposium 2009. Stephanie Weirich reminded everyone that there are only 4 weeks until the submission deadline for the 2009 Haskell Symposium!

hmatrix-static: statically-sized linear algebra. Reiner Pope announced the release of hmatrix-static, a thin wrapper over Alberto Ruiz's excellent hmatrix library for linear algebra. The main additions of hmatrix-static over hmatrix are that vectors and matrices have their length encoded in their types, and vectors and matrices may be constructed and destructed using view patterns, affording a clean, safe syntax.

haskellmode for Vim now at projects.haskell.org. Claus Reinke announced that the Haskell mode plugins for Vim have just completed their move to their new home, and took the opportunity to reiterate what they can do (quite a lot, it seems), and mention that some screencasts are available.

MSem replacement for QSem. ChrisK announced MSem, a proposed replacement module for Control.Concurrent.QSem.

Hac5 is almost upon us!. Sean Leather reminded everyone that in six days, tens of crazy/obsessed, type-safe, functional programmers will be converging on Utrecht to commence execution of the 5th Haskell Hackathon, from April 17-19, 2009 in Utrecht, The Netherlands! The local organizing team welcomes you all and looks forward to all of the new developments that come out of everyone's undying quest to write more and better code.

Yogurt-0.4. Martijn van Steenbergen announced version 0.4 of Yogurt, a functional MUD client. Version 0.4 makes Yogurt available as a standalone executable that is able to dynamically load and reload Yogurt scripts.

Elerea, another FRP library. Patai Gergely announced the release of Elerea, aka "Eventless reactivity", a minimalistic FRP implementation that comes with a convenient applicative interface, supports recursive definition of signals and signals fed from outside by IO actions, plays nice with resources, and is the result of some furious hacking. There are working examples to show off the current capabilities of the library, found in the separate elerea-examples package.

tree-monad 0.2. Sebastian Fischer announced version 0.2 of the tree-monad package, which provides instances of MonadPlus that represent the search space of non- deterministic computations as a tree. Version 0.2 implements an optimized CPS version of the tree.

HCard -- A library for implementing card-like structures.. Joe Fredette announced the release of HCard, a library which supports a card-like data structures and uses associated types to provide shuffling, dealing, and other facilities. It's general enough to support many different types of playing cards; it currently comes with the common "French Deck" (4-suit, 13 card deck that is very common in the US) implemented and an example cribbage scoring application.

SVGFonts 0.1. Tillmann Vogt announced his first Haskell library, SVGFonts 0.1, which parses the relatively unknown SVG Font format to produce outlines of characters. The big advantage of this format is that it is XML, which means easy parsing and manipulating.

network-bytestring 0.1.2. Johan Tibell announced a new release of network-bytestring, a Haskell library for fast socket I/O using ByteStrings. New in this release is support for scatter/gather I/O (also known as vectored I/O). Scatter/gather I/O provides more efficient I/O by using one system call to send several separate pieces of data and by avoiding unnecessary copying.

Jobs

Lecturer in Computer Science, University of Leicester. Roy L. Crole announced an opening for a lectureship at the University of Leicester. The successful candidate will have a strong or promising research record in computer science, with a background in formal foundations (either algorithms and complexity, or semantics of programming or modelling languages), and will be able to contribute to undergraduate and postgraduate teaching and supervision in software engineering.

Blog noise

Haskell news from the blogosphere.

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