Welcome to issue 121 of HWN, a newsletter covering developments in the Haskell community.
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 184.108.40.206. 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.
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.
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.
Galois is hiring functional programmers. Don Stewart announced that Galois is hiring! See the announcement for more details.
Niklas Broberg: GSoC status report, week 3.
Joachim Breitner: Introducing L-seed.
Conal Elliott: Memoizing polymorphic functions - part two.
London Haskell Users Group: Next Meeting: Sean Leather, Fun and generic things to do with EMGM.
David Amos: It's on Hackage!. Haskell for Maths is now just a cabal-install away.
Michael Snoyman: Filename encoding issues.
David Amos: Permutation groups.
Edward Kmett: Recursion Schemes: A Field Guide (Redux).
mightybyte: Intro to HAppS-State.
Conal Elliott: Memoizing polymorphic functions - part one.
Lennart Augustsson: More LLVM.
Roman Cheplyaka: Don't play with your monads.
Galois, Inc: Tech Talk: Orc in Haskell.
Petr Rockai: soc progress 3. Progress on Petr's GSoC darcs project.
Magnus Therning: Using msmtp with darcs.
Erik de Castro Lopo: Debian Maintainer. Erik is now a Debian maintainer, and plans to give Haskell on Debian a much-needed facelift!
Niklas Broberg: What's in a forall?. More Haskell parsing fun.
Well-Typed.Com: GHC, primops and exorcising GMP.
Niklas Broberg: What's in a forall?. More than you might expect!
>>> Zsol: Visualizing the graphrewrite process behind Haskell. Work on the visual-graphrewrite package.
Eric Kow (kowey): testrunner for practical quickcheck.
Sebastian Fischer: Explicit sharing of monadic effects. Purely functional, lazy, non-deterministic programming!
LHC Team: New backend.
>>> James McNeill: Messing with Haskell.
Dan Piponi (sigfpe): Hashing Molecules.
Shin-Cheng Mu: Longest Segment Satisfying Suffix and Overlap-Closed Predicates.
David Amos: Simple graphs with Math.Combinatorics.Graph. David shows off his Haskell for Maths library.
Gergely Patai: More colourful graphs. Graphs from Gergely's GSoC project on profiling.
Bryan O'Sullivan: Case conversion and text 0.3. The text module gets solid, standards-compliant case conversion.
Bjorn Buckwalter: numtype 1.0: Type-level (low cardinality) integers.
>>> Jörn Dinkla: Parallelization with Haskell - Easy as can be.
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/