Contents

1 News from 2006

2006-10-31

A type-based solution to the "strings problem". Tom
Moertel wrote on
a solution to the problem of keeping web applications free of
string-based XSS and SQL-injection vulnerabilities, by employing the
Haskell type system.

Associated data types in GHC. Manuel Chakravarty
announced the availability of indexed data types, an extension of our earlier proposal for associated data types, in GHC's development version. Detailed information on where to get the right GHC and how to use indexed types is available from the Haskell wiki.

Haskell Program Coverage. Andy Gill
checked the latest version of HPC, with GHC support, into the head GHC branch

Haskell Mersenne Twister. Lennart Augustsson
made available his Haskell implementation of the Mersenne Twister random number generator.

Haskell-specific Google Search Engine. Don Stewart
initialised a Haskell-specific search engine, as part of Google's coop engine system, which seems to do a good job of targeting just Haskell sites, in particular, mailing list items

A process for submitting library extensions. The libraries hackers
have developed a document describing how to best go about contributing new code to the core Haskell libraries. On a similar note, the GHC team has prepared a page on best practice for GHC submissions.

How to create a Haskell project. Don Stewart and Ian Lynagh
prepared some guidelines on starting your own Haskell project.

2006-10-24

MissingH 0.16.0. John Goerzen
announced that the latest version of MissingH is now available. MissingH is a suite of 'missing' library functions. New features include: render numbers as binary units, a progress tracker, turn QuickCheck tests into HUnit tests, and GHC 6.6 support.

SMP parallel Pugs on GHC. Audrey Tang
announced that parallel support, on top of GHC's new SMP runtime system, has been added to Pugs, the standard bearer Perl6 implementation.

YAHT is now a part of the wikibook. Eric Kow
announced that the famous 'Yet Another Haskell Tutorial' has been imported into the Haskell wikibook. Let the great Haskell Remix begin!

2006-10-19

GHC version 6.6. The GHC Team
announced a new release of GHC! There have been many changes since the 6.4.2 release. For details, see the release notes. Binary builds, source and packages are all found at GHC's home.

Pugs 6.2.13 released. Audrey Tang
announced that after nearly four months of development and 3400+ commits, Pugs 6.2.13, the leading Perl6 implementation written in Haskell, is now available.

STM invariants and exceptions. Tim Harris
announced that new transactional memory features have been committed to GHC. The main change is to add support for dynamically checked data invariants of the kind described in this paper (pdf). There are two operations: always X :: STM Bool -> STM () and alwaysSucceeds X :: STM a -> STM (). More details in here (pdf).

Cabal version 1.1.6 is now available. Duncan Coutts
announced that Cabal, the common architecture for building applications and libraries, version 1.1.6 is now available. It is included in GHC version 6.6.

Fun in the Afternoon: Thurs 16th Nov in Oxford. Jeremy Gibbons
announced that he, Graham Hutton and Conor McBride at Nottingham are organizing a seminar, Fun in the Afternoon, on functional programming and related topics. The idea is to have a small number of talks as an antidote to mid-term blues, three afternoons a year. The hope is that talks will be informal and fun, and that there will be plenty of scope for discussion and chat as well. Looks fun!

HC&A Call for Contributions. Andres Loeh
asked for contributions towards the 11th Haskell Communities & Activities Report, a bi-annual overview of the state of Haskell as well as Haskell-related projects of all flavours.

Streams 0.1 available for GHC 6.6. Bulat Ziganshin
announced that the Streams 0.1 library is now compatible GHC 6.6.

2006-10-10

hinotify 0.1. Lennart Kolmodin
announced hinotify 0.1, a library to inotify which has been part of the Linux kernel since 2.6.13. inotify provides file system event notification, simply add a watcher to a file or directory and get an event when it is accessed or modified. API and source.

Haskell Packages 6.6. Isaac Jones
announced that the Cabal package tools for Haskell are in a good state, with almost 30 packages already in the database. Time to start testing packages, starting with the cabal release candidate that'll go into GHC 6.6, to make sure they work nicely together!

Cabal-1.1.6 release candidate. Duncan Coutts
released a tarball for the next 1.16 Cabal release candidate. Let's get this tested before GHC 6.6 arrives!

Darcs 1.0.9 release candidate. Tommy Pettersson
announced the first release candidate for next stable darcs, 1.0.9rc1. This will mainly be a bug fix version to get things right that got wrong or didn't get right in 1.0.7 and 1.0.8, but there are some new features and optimizations too.

Haskell and Vim. Marc Weber
wrote some Vim scripts to ease various Haskell coding tasks in Vim.

2006-10-03

Proceedings Haskell Workshop 1995. Henrik Nilsson
announced that in celebration of the 10th Haskell Workshop that took place recently, the proceedings of the very first Haskell workshop, in La Jolla 1995, have now been made available on the Haskell Workshop home page. Thanks to Paul Hudak for help locating the proceedings and arranging for them to be scanned into PDF.

Common library for generic programming. Johan Jeuring and Andres Loeh
announced an initiative to design a common library for generic programming, which should work together with most of the Haskell compilers, and for which they hope to guarantee support for generics in Haskell into the future. If you want to get involved (or just want to see the discussion), you can subscribe to the generics mailing list. Check the Haskell research wiki for some background on generics.

GHC 6.6 Second Release Candidate. Ian Lynagh
announced that the Second Release Candidate phase for GHC 6.6 is underway. Get testing!

Lazy functional language for the JVM. Luke Evans
announced
that the research group at Business Objects has developed a lazily evaluated, strongly-typed language called CAL, with many similarities to Haskell, targeting the JVM, to facilitate representing certain kinds of business logic as reusable, composable pieces.

2006-09-27

ICFP Contest Results. CMU's Principles of Programming Group
announced the results of this year's ICFP programming contest. Congratulations to the winning team from Google, 'Team Smartass', (Christopher Hendrie, Derek Kisman, Ambrose Feinstein and Daniel Wright), who used Haskell along with C++, Bash and Python. Haskell has now been used by the winning team three years running! An honourable mention to team Lazy Bottoms, another Haskell team, who managed to crack several of the puzzles first. Five teams from the #haskell IRC channel were placed in the top 50. A video stream of the results announcement is available, shot and cut by Malcolm Wallace. Many thanks to the CMU team for organising such a great contest!

New release of Hugs. Ross Paterson
announced a new minor release of Hugs, fixing a few bugs with the May 2006 release, and with libraries roughly matching the forthcoming GHC 6.6 release. It is available from the Hugs page.

HAppS version 0.8.2. Einar Karttunen
announced the release of the Haskell Application Server version 0.8.2. HAppS is a Haskell web application server for building industrial strength internet applications safely, quickly, and easily. With HAppS you focus entirely on application functionality implemented in your favourite language and you don't have to worry about making sure all sorts of server subsystems are functioning properly. More info.

Codec.Compression.GZip and .BZip. Duncan Coutts
released two new packages: zlib and bzlib, which provide functions for compression and decompression in the gzip and bzip2 formats, directly on ByteStrings. Both provide pure functions on streams of data represented by lazy ByteStrings. This makes it easy to use either in memory or with disk or network IO. There is API documentation is available here and here.

A DSL for state machines. Stephane Bortzmeyer
announced a Haskell implementation of a proposal to the IETF to standardize a language used for finite state machines (which are common in IETF standards). The reference implementation is available.

A language tag parser. Stephane Bortzmeyer
announced GaBuZoMeu, a set of programs to parse and check language tags (see RFC 4646 produced by the IETF Working Group LTRU - Language Tag Registry Update).

2006-09-18

Haskell98 Termination Analyser
. Stephan Swidersk
announced the integration of an automatic Haskell98 termination analyzer in the termination tool AProVE. The tool accepts full Haskell as specified in the Haskell 98 Report and is available through our web interface. More

Free theorems
. Janis Voigtlaender
announced that Sascha Boehme has done a project to implement the Reynolds/Wadler algorithm generating theorems from polymorphic types, plus simplifications and postprocessings for such free theorems. More info

Haddock/GHC SoC
. David Waern
announced a short status report of the "Port Haddock to use GHC" Summer of Code project. The GHC modifications, are finished and will be included in the GHC head repository soon.

AutoForms release 0.2
. Mads Lindstrøm
released AutoForms 0.2, a library to ease the creation of GUIs. It does this by using generic programming (SYB) to construct GUI components. More info

HSPClientside 0.2
. Joel Björnson
announced a new version of HSPClientside (0.2) ,developed as a GSoC project during this summer. HSPClientside is a Haskell Server Pages library for generating JavaScript code. More info

The experimental GHCi debugger
. Pepe
announced the results of his SoC project, the experimental Haskell debugger. More details

SmallCheck
. Colin Runciman
released a prototype tool that is similar in spirit, and in some of its workings, to QuickCheck. SmallCheck is, though, based on exhaustive testing in a bounded space of test values. More info

Frisby: composable, linear time parser for arbitrary PEG grammers
. John Meacham
released Frisby, an implementation of the 'packrat' parsing algorithm, which parse PEG grammars and have a number of very useful qualities, they are a generalization of regexes in a sense that can parse everything in LL(k), LR(k), and more, including things that require unlimited lookahead, all in guaranteed linear time. More information

HaskellNet
. Jun Mukai
published a status report on the state of his SoC project, HaskellNet

GHC's new support engineer
. Simon Marlow
announced that GHC now has a full-time support engineer, Ian Lynagh (aka Igloo on IRC). He'll be helping with all aspects of GHC, especially release management, bug diagnosis and tracking, documentation, packaging, and supporting other GHC hackers. Welcome Ian!

2006-08-14

The Haskell Workshop
. Andres Loeh
announced
the preliminary schedule of the Haskell Workshop 2006, part of the 2006 International Conference on Functional Programming (ICFP)

dbus haskell bindings
. Evan Martin
announced preliminary D-Bus Haskell bindings. D-Bus is a message bus system, a simple way for applications to talk to one another. More

The GHC typechecker is Turing-complete
. Robert Dockins
was able to show how that the GHC typechecker with multi-parameter typeclasses, functional dependencies, and undecidable instances is Turing-complete.

Haskell Program Coverage
. Colin Runciman
announced the first release of hpc, a new tool for Haskell developers. Hpc records and displays Haskell program coverage. It provides coverage information of two kinds: source coverage and boolean-control coverage. More here

Smash your boiler-plate without class and Typeable
. Oleg Kiselyov
described a new generic programming technique, expressive enough to traverse a term and return another term of a different type, determined by the original term's type/structure. More details

HSP.Clientside 0.01
. Joel Björnson
announced a release of his Summer of Code project HSP.Clientside 0.01. Present features include an embedding of (typed) JavaScript language in Haskell, a small combinator library for generating JavaScript code, and high-level interface to Ajax functionality.

Monadic probabilistic functional programing
. Stefan Karrmann
announced that he had extended Martin Erwig's PFP library to support abstract monads, cabal and darcs

hdbc-odbc 1.0.0.1
. John Goerzen
released DBC-odbc, the ODBC backend driver for HDBC, version 1.0.0.1.

Few Digits 0.5.0
. Russell O'Connor
This year, Few Digits competed in the More Digits contest. To celebrate, version 0.5.0 of Few Digits is available. Few Digits 0.5.0 is now ten times faster and three times more complicated. Few Digits has been Cabalized for your convenience. More info

The History of Haskell
. Phil Wadler, John Hughes, Paul Hudak and Simon Peyton Jones
have been writing a paper, The History of Haskell, for the History Of Programming Languages conference (HOPL'07), and they invite feedback. Wiki page here.

AngloHaskell
. Lemmih
mentioned that AngloHaskell will be held at Cambridge in August. The agenda includes beer, unicycles, hacking and other fun. More info

Down the rabbit hole
. Bulat Ziganshin
announced the availability of a new tutorial directed toward comprehensive explanation of the IO monad, and it's use in complex programs

ldap-haskell, arch2darcs and darcs-buildpackage
. John Goerzen
posted new versions of these packages

Internships on GHC and Haskell at MSR Cambridge
. Simon Peyton-Jones
announced that MSR Cambridge is taking interns year-round, not just in the summer months. GHC HQ are keen to attract motivated and well-qualified folk to work on improving or developing GHC. More details

FGL
. Martin Erwig
announced a new release of his well known Functional Graph Library (FGL).

Takusen
. Alistair Bayley and Oleg Kiselyov
released a new version of Takusen, a library for accessing DBMSs. The most significant code change is a new internal design, giving better separation of concerns like statement preparation, binding, and result-set processing. Takusen is now held in darcs, and hosted at haskell.org

Text.Regex.Lazy 0.44, 0.56, 0.66 and 0.70
. Chris Kuklewicz
announcedText.Regex.Lazy 0.44-0.70, with many enhancements. Multiple backends are supported, in addition to the "full lazy" and the DFA backends. Text.Regex.Lazy is a replacement and enhancement for Text.Regex. More details here

HDBC 1.0
. John Goerzen
released the latest HDBC. HDBC is a database tool, modeled loosely on Perl's DBI interface, though it has also been influenced by Python's DB-API v2, JDBC in Java, and HSQL in Haskell. You can find the code here.

hpodder
. John Goerzen
announced the first release of hpodder. hpodder is a podcast downloader (podcatcher) written in pure Haskell. It exists because John was unsatisfied with the other podcatchers for Linux. Full details here.

hmp3 1.1
. Don Stewart
announced a new release of hmp3, the curses-based mp3 player written in Haskell. Release 1.1 is a maintenance release, fixing support for GHC 6.4.2

HSP.Clientside 0.001
. Joel Bjornson
announced a prerelease version of Hsp.Clientside. This is Joel's Summer of Code project aiming to add support for client-side script generation in Haskell Server Pages. The basic building blocks for embedding Javascript has been implemented. As the project proceeds a suitable programming model based on these components will be added. Hopefully this will also include some kind of higher level Ajax support. For more information see here.

QDBM and Hyper Estraier bindings
. Jun Mukai
released a library of bindings to Quick DBM, a database module similar to GDBM, Berkeley-DB, optimized for performance and a simple API. Additionally, Jun's code includes support for Hyper Estraier, a full-text search system using QDBM, with the ability to search documents according to keywords.

HNOP 0.1
. Ashley Yakeley
released the first version of HNOP 0.1. HNOP does nothing. This version should be considered "beta" quality.

HList updates
. Oleg Kiselyov
announced that HList, the library for strongly typed heterogeneous lists, records, type-indexed products (TIP) and co-products is now accessible via darcs, here. Additionally, Oleg pointed to some new features for HList, including a new representation for open records. Finally, he published a note on how HList supports, natively, polymorphic variants: extensible recursive open sum datatypes, quite similar to Polymorphic variants of OCaml. HList thus solves the `expression problem' -- the ability to add new variants to a datatype without changing the existing code.

Bytecode API 0.2
. Robert Dockins
published the Yhc Bytecode API version 0.2. More details here.

Translating Haskell into English
. Shannon Behrens
published a new Haskell tutorial, hoping to give readers a glimpse of the Zen of Haskell, without requiring that they already be Haskell converts.

2006-06-25

The GHC Hackathon
. Simon Peyton-Jones
announced that GHC HQ are going to run a hackathon, in Portland, just before ICFP this September (14-15th). It'll be held at Galois's offices, in Beaverton. Thanks go to Galois for hosting the meeting. Here are the details. If you are interested in finding out a bit about how GHC works inside, then you should find the hackathon fun. It will be informal and interactive. If you think you might come, please take a look at the above page, and register.

Bytecode API library
. Robert Dockins
announced a release of an alpha version of a library for reading and writing the YHC bytecode file format. It reads and writes the entire bytecode set, version 1.9 (the one used by recent YHC builds). Check it out.

2006-06-16

Google Summer of Code. The Haskell.org team
announced
that nine Haskell projects have been selected to receive funding to the
value of $45k under Google's 2006
Summer of Code
program. A wide range of projects will be worked on, contributing to
the community important tools and libraries. The students have until
August 21 to complete their projects, and receive their grants. Details
of the accepted projects can be found
here

Haskell Communities & Activities Report. Andres Loeh
published
the 10th edition of the Haskell Communities and Activities
Report (HCAR). If you haven't encountered the Haskell Communities and
Activities Reports before, you may like to know that the first of these reports
was published in November 2001. Their goal is to improve the communication
between the increasingly diverse groups, projects and individuals working on,
with, or inspired by Haskell.

Would you like a job working on GHC?. Simon Peyton-Jones
announced
that GHC HQ is looking for support engineer. The Glasgow Haskell
Compiler (GHC) is now being used by so many people, on so many
platforms, that GHC HQ has been struggling to keep up. In
particular, the candidate should be someone who is enthusiastic
about Haskell, and fired up about the prospect of becoming a GHC
expert.

Shellac and Lambda Shell 0.3. Robert Dockins
announced
the simultaneous release of Shellac 0.3 and Lambda Shell 0.3.
Shellac is a library for creating read-eval-print style shells. It makes
binding to feature-rich shell packages (ie, readline) easier. Lambda shell
is full-featured shell environment for evaluating terms of the pure untyped
lambda calculus and a showcase/tutorial for Shellac's features.

darcs-graph. Don Stewart released
darcs-graph,
a tool for generating graphs of commit activity for darcs repositories.

Kamiariduki Shelarcy
released
Kamiariduki - a system to judge your derivative work's purpose
and license is valid with Ceative Commons License Works.

lambdabot 4.0. Don Stewart
announced
the release of version 4.0 of the venerable Haskell IRC bot, lambdabot.
lambdabot is a stable, feature rich IRC bot based on a plugin
framework. lambdabot 4.0 comes with a suite of more than 50 plugins,
and many new features.

2006-05-22

Hugs 2006. Ross Paterson
announced
a new major release of Hugs, including an installer for Windows and a
new WinHugs interface. It is available from
the Hugs page.

Linspire Chooses Haskell for Core OS Development.
Clifford Beshers
announced
that the OS team at Linspire, Inc. is standardizing on Haskell as their
preferred language for core OS development.
Much of the infrastructure is being written in Haskell, including
the Debian package builder (aka autobuilder). Other tools such as ISO
builders, package dependency checkers are in progress. The goal is to
make a tight, simple set of tools that will let developers contribute
to Freespire, based on Debian tools whenever possible.

lambdaFeed. Manuel Chakravarty
released
lambdaFeed -- lambdas for all! lambdaFeed is an RSS 2.0 feed
generator. It reads news items - in a non-XML, human-friendly
format - distributed over multiple channels and renders them
into the RSS 2.0 XML format understood by most news aggregators
as well as into HTML for inclusion into web pages.
Source is available in darcs.
Check it out.

Milfoh, an image to texture loading library. Maurizio Monge
announced
he has put together a very small library, using SDL_image (and a
bare minimun of SDL), to load image files as opengl textures.
More information here.

Haskell Charting Library. Tim Docker
released
his Haskell 2D charting library. It's still at quite an early stage, but already it has:

Edison 1.2RC4. Robert Dockins
announced
the 4th release candidate for Edison 1.2. Edison is a library of
efficient data structures for Haskell.

Collections pre-release. Jean-Philippe Bernardy
announced
an alpha release of the new collections package he (and others) have
been working on. It's still far from perfect, but I hope it's already a
good choice for many use cases of collection data structures.

Haskell Graph Automorphism Library. In a busy week,
Jean-Philippe also
released
HGAL 1.2 (Haskell Graph Automorphism Library), a Haskell implementation
of Brendan McKay's algorithm for graph canonic labeling and
automorphism group. (aka Nauty). Improvements over the previous release
include a faster algorithm implementation and the library is now cabalised.

Darcs 1.0.7. Tommy Pettersson
announced
the release of darcs 1.0.7, containing a few bug fixes, and some new features.

2006-05-08

hmake. Malcolm Wallace
released
version 3.11 of
hmake,
the compiler-independent project-building tool for Haskell
programs. It automates recompilation analysis, based on import
declarations in your files, to rebuild only those modules that
are impacted by a change. It is rather like ghc's --make mode,
but faster, less memory intensive, and it works with any
compiler (e.g. hbc, nhc98).

cpphs. In a busy week, Malcolm also
released
version 1.2 of
cpphs, the in-Haskell
implementation of the C pre-processor. The major change in this
release is that the source files have been re-arranged into a
cabal-ised hierarchical library namespace, so you can use cpp
functionality from within your own code, in addition to the
stand-alone utility.

Cabal 1.1. Duncan Coutts (as the new Cabal release manager)
announced
that Cabal-1.1.4, the version shipped with GHC 6.4.2 is now
available to download as
a separate tarball.
There is also a
new mailing list
for Cabal development discussion including patch review. This is
also where patches sent via "darcs send" will end up.
The Cabal team would also like to take the opportunity to invite
people to get involved in Cabal development, either new features
or squashing annoying bugs.

DownNova-0.1. Lemmih
released
downNova, a program designed for automating the process of
downloading TV series from mininova.org. Written in Haskell, it
will scan your downloaded files to find out what your interests
are and download missing/new episodes to your collection.
Advanced classification techniques are used to interpret the
file names and 'downNova' will correctly extract series name,
season number, episode number and episode title in nigh all
cases.

Student SoC Application Deadline is rapidly approaching. Paolo
Martini encouraged students to apply to google, using the
student application
form, and Haskell.org
is looking forward to the several dozen applications we hope to receive.

2006-05-01

GHC 6.4.2. Simon Marlow
announced
the release of the Glasgow Haskell Compiler, version 6.4.2.
GHC is a state-of-the-art programming suite for Haskell. Included
is an optimising compiler generating good code for a variety of
platforms, together with an interactive system for convenient, quick
development. The distribution includes space and time profiling
facilities, a large collection of libraries, and support for various
language extensions, including concurrency, exceptions, and foreign
language interfaces (C, whatever). GHC is distributed under a
BSD-style open source license. For more information, see:

Communities and Activities Report. Andres Loeh
released
the call for contributions to the 10th (!) Haskell Communities and
Activities Report. If you are working on any project that is in some
way related to Haskell, write a short entry and submit it to Andres.

The Haskell Communities and Activities Report is a bi-annual
overview of the state of Haskell as well as Haskell-related projects
over the last, and possibly the upcoming 6 months. If you have only
recently been exposed to Haskell, it might be a good idea to browse the
November 2005 edition
-- you will find interesting topics described as well as several
starting points and links that may provide answers to many questions.

Google Summer of Code. Paolo Martini
announced
that Haskell.org would have a presence as an official mentoring
organisation for this year's Google Summer of Code. Several members
of the Haskell community have volunteered as mentors, and a large
number of proposals have been listed. If you're interested in
mentoring, suggesting projects, or applying as a student to spend
your summer writing Haskell code, check it out!

Debian from Scratch. John Goerzen
announced
Debian From Scratch (DFS), a single, full rescue linux CD capable of
working with all major filesystems, LVM, software RAID, and even
compiling a new kernel. The tool that generates the ISO images
(dfsbuild) is written in Haskell. The generated ISO images also
contain full, working GHC and Hugs environments.

Hazakura - search-based MUA. Jun Mukai
announced
the first release of hazakura, a search-based mail client, written
in Haskell.

Halfs, a Haskell filesystem. Isaac Jones
announced
the first release of Halfs, a filesystem written
in Haskell. Halfs can be mounted and used like any other Linux filesystem,
or used as a library. Halfs is a fork (and a port) of the filesystem
developed by Galois Connections. In addition, Halfs comes with a virtual
machine to make using it extremely easy. You don't need an extra partition
or a thumb drive, or even Linux (Windows and Mac OS can emulate the virtual
machine). See more at
the Halfs site.

DrIFT-2.2.0. John Meacham
released
DrIFT-2.2.0, the type sensitive preprocessor for Haskell. It
extracts type declarations and directives from modules. The
directives cause rules to be fired on the parsed type declarations,
generating new code which is then appended to the bottom of the
input file. Read more
here.

MissingH 0.14.2. John Goerzen
announced
version 0.14.2 of MissingH, the library of "missing" Haskell code. Now including support for
shell globs, POSIX-style wildcards and more. Check
here for more details.

Index-aware linear algebra. Frederik Eaton
announced
an index-aware linear algebra library written in Haskell.
The library exposes index types and ranges so that static guarantees can be
made about the library operations (e.g. an attempt to add two incompatibly
sized matrices is a static error). Frederik's motivation is that a good
linear algebra library which embeds knowledge of the mathematical
structures in the type system, such that misuse is a static error, could
mean Haskell makes valuable contribution in the area of technical
computing, currently dominated by interpreted, weakly typed languages.

hImerge: a graphical user interface for emerge. Luis Araujo
released
hImerge,
a graphical user interface for emerge, (Gentoo's Portage system)
written in Haskell using gtk2hs.
Here's a jpg.
The main idea is to simplify browsing the entire portage tree as well as of
running the most basic and common options from the emerge command. hImerge
also offers several handy tools, like global and local use flags browsers,
and a minimal web browser.

MissingH 0.14.0. John Goerzen
announced
MissingH 0.14.0, a library of "missing" functions.
MissingH is available
here.

Chapter 4 of Hitchhikers Guide to the Haskell. Dmitry Astapov
announced
that the 4th chapter of the Hitchhikers Guide to Haskell is now
available.

Edison 1.2 rc3. Robert Dockins
announced
that the 3rd release candidate for Edison 1.2 is now avaliable.

2006-03-27

monadLib 2.0. Iavor Diatchki
announced
the release of monadLib 2.0 -- library of
monad transformers for Haskell. 'monadLib' is a descendent of
'mtl', the monad template library that is distributed with most
Haskell implementations. Check out the
library web page.

Text.Regex.Lazy (0.33). Chris Kuklewicz
announced
the release of Text.Regex.Lazy.
This is an alternative to Text.Regex along with some enhancements.
GHC's Text.Regex marshals the data back and forth to C arrays, to call
libc. This is far too slow (and strict). This module understands
regular expression Strings via a Parsec parser and creates an internal data
structure (Text.Regex.Lazy.Pattern). This is then transformed into a
Parsec parser to process the input String, or into a DFA table for matching
against the input String or FastPackedString. The input string is
consumed lazily, so it may be an arbitrarily long or infinite source.

HDBC 0.99.2. John Goerzen
released
HDBC 0.99.2, along with 0.99.2 versions of all database
backends. John says "If things go well, after a few weeks of
testing, this version will become HDBC 1.0.0".
HDBC is a
multi-database interface system for Haskell.

GHC 6.4.2 Release Candidates
Simon Marlow
announced
that GHC was moving into release-candidate mode for
version 6.4.2. Grab a snapshot
and try it out. The available builds are: x86_64-unknown-linux (Fedora
Core 5), i386-unknown-linux (glibc 2.3 era), and Windows
(i386-unknown-mingw32). Barring any serious hiccups, the release should
be out in a couple of weeks.

HaRe 0.3.
Sneaking out without us noticing, in January, a
new snapshot
of HaRe, the Haskell refactoring tool, was released.
This snapshot of HaRe 0.3 is now compatible with the latest GHC and
Programmatica. New refactorings have also been added.

Haskell on Gentoo Linux Duncan Coutts
writes
that GHC 6.4.1 has been marked stable on x86,
amd64, sparc and ppc, for
Gentoo Linux.
(We also support ppc64, alpha and hppa.)
Gentoo also has a collection of over 30 Haskell libraries and tools.
There is also a #gentoo-haskell
channel on freenode.

Planet Haskell. Isaac Jones
asked
if someone could volunteer to set up "Planet
Haskell", an RSS feed aggregator in the style of Planet Debian, Planet
Gnome or Planet Perl. Happily, Antti-Juhani Kaijanaho stepped up, and now
Planet Haskell is live at http://planet.haskell.org.
Antti-Juhani asks that any Haskell
people with blogs submit their feed urls to him, so check it out!

Concurrent Yhc. The Yhc dev team
reports
that Yhc now includes support for concurrency!
The interface is the same as Concurrent GHC. Currently only

Control.Concurrent

Control.Concurrent.MVar

Control.Concurrent.QSem

are implemented, however many other abstractions can be written in
Haskell in terms of MVars.

2006-03-20

lhs2TeX version 1.11. Andres Loeh
announced
lhs2TeX version 1.11, a preprocessor to generate LaTeX code from
literate Haskell sources.

lhs2TeX includes the following features:

Highly customized output.

Liberal parser -- no restriction to Haskell 98.

Generate multiple versions of a program or document from a single source.

Active documents: call Haskell to generate parts of the
document (useful for papers on Haskell).

A manual explaining all the important aspects of lhs2TeX.

2006-03-13

Alternative to Text.Regex. Chris Kuklewicz announced an alternative to Text.Regex. While working on the language shootout, Chris implemented a new efficient regex engine, using parsec. It contructs a parser from a string representation of a regular expression.

Haskell as a markup language. Oleg Kiselyov writes on using Haskell to represent semi-structured documents and the rules of their processing. SXML is embedded directly in Haskell, with an open and extensible set of `tags'. The benefit of this is of course in static type guarantees, such as prohibiting an H1 element to appear in the character content of other elements.

hmp3 1.0. Don Stewart released hmp3 version 1. hmp3 is a curses-based mp3 player written in Haskell, designed to be fast, small and stable.

Edison 1.2rc2. Robert Dockins announced the second release candidate for Edison 1.2 is now ready for comments.

2006-02-27

Long Live Edison. Robert Dockins announced he had revived the Edison data structure code, and is maintaining a darcs repository, with a view to modernising the codebase.

2006-02-20

The Haskell Workshop. Andres Loeh
released
the initial call for papers for the ACM SIGPLAN 2006
Haskell Workshop, to be held at Portland, Oregon on the 17 September, 2006.
The purpose of the Haskell Workshop
is to discuss experience with Haskell, and possible
future developments for the language. The scope of the workshop includes
all aspects of the design, semantics, theory, application, implementation,
and teaching of Haskell.

Probability Distributions.
Matthias Fischmann released
a module for sampling arbitrary probability distribution, so far including
normal (gaussian) and uniform distributions.

FFI Imports Packaging Utility. Dimitry Golubovsky
announced
the pre-release of the FFI Imports Packaging Utility
(ffipkg), a new member of the HSFFIG package.
The `ffipkg' utility prepares a Haskell package containing FFI imports
for building by accepting locations of C header and foreign library
files as command line arguments and producing Haskell source files
with FFI declarations, a Makefile, a Cabal package descriptor file,
and a Setup.hs file suitable for running the Cabal package setup
program. The utility acts as a "driver" running the C preprocessor,
the equivalent of the hsffig program, and the source splitter.
darcs get --partial http://hsffig.sourceforge.net/repos/hsffig-1.1

Haskell in Higher Education.
John Hughes
announced
that the result of his survey into the use of
Haskell in higher education are out. The survey covers 89
universities, accounting for 5-10,000 students being taught
Haskell this academic year. The results are
available on the web.

2006-02-06

EclipseFP. Thiago Arrais
announced
that EclipseFP 0.9.1 has been released since last
Friday. It is an open-source development environment for Haskell code.
EclipseFP integrates GHC with an Haskell-aware code editor and also
supports quick file browsing through an outline view, automatic
building/compiling and quick one-button code execution. Downloads and
more information are available on the
project home page.

Class-parameterized classes, and type-level logarithm. Oleg
Kiselyov writes: we show invertible, terminating, 3-place addition, multiplication,
exponentiation relations on type-level Peano numerals, where any
two operands determine the third. We also show the invertible factorial
relation. This gives us all common arithmetic operations on Peano numerals,
including n-base discrete logarithm, n-th root, and the inverse of factorial.
The inverting method can work with any representation of (type-level) numerals,
binary or decimal.
Oleg says, "The implementation of RSA on the type level is left for future work".

Fast mutable variables for IO and ST. Bulat Ziganshin
released a module for fast mutable variables, providing efficient
newVar/readVar/writeVar, as well as support for unboxed values, fast
unboxed bitwise operations, and more.

2006-01-30

C-- Frontend. Robert Dockins
announced
the initial alpha release of a C--
frontend (parser, pretty printer, and semantic checker) written in
Haskell. The goal when beginning this project was to create a
modular frontend that could be used both by people writing and by
those targeting C-- compilers. This implementation attempts to
follow the C-- spec as exactly as possible.

Type level arithmetic. Robert Dockins
also released a library for arithmetic on the type
level. This library uses a binary representation and can handle
numbers at the order of 10^15 (at least). It also contains a
test suite to help validate the somewhat unintuitive algorithms.

2006-01-23

Haskell'
This week Isaac Jones announced that the Haskell' standardisation
process is underway. Haskell' will be a conservative refinement of
Haskell 98:

Announcing the Haskell' ("Haskell-Prime") process. A short time ago,
I asked for volunteers to help with the next Haskell standard. A
brave group has spoken up, and we've organized ourselves into a
committee in order to coordinate the community's work. It will be the
committee's task to bring together the very best ideas and work of the
broader community in an "open-source" way, and to fill in any gaps in
order to make Haskell' as coherent and elegant as Haskell 98.

hdbc-odbc. John Goerzen
released
the first version of hdbc-odbc, the ODBC backend for HDBC. With this
driver, you can use HDBC to connect to any database for which ODBC
drivers exist, including such databases as MySQL, Oracle, MS SQL Server

Process library. Bulat Ziganshin announced a
new library abstracting over some of the process and concurrency
functions in the standard libraries, using ideas from Unix
pipes.

Djinn. Lennart Augustsson
released Djinn,
a theorem prover/coding wizard, that generates
Haskell code from a given type. A lambdabot plugin for Djinn was
also written, for use in #haskell.

Ranged Sets. Paul Johnson released a
ranged sets library 0.0.1
and
0.0.2.
Ranged sets allow programming with sets of values that are
described by a list of ranges. A value is a
member of the set if it lies within one of the ranges.

Hmp3. Don Stewart
announced
a stable release of hmp3, an curses-based mp3 player written in
Haskell. Portability has improved, and binaries are available
for 5 architectures.

HSQL. Krasimir Angelov released
HSQL 1.7. New features include a driver for Oracle.

HDBC. John Goerzen announced the
0.5.0,
0.6.0
and 0.99.0
releases of Haskell Database Connectivity library. Patterned
after Perl's DBI, it includes an Sqlite3 and a
PostgreSQL backend

Shellac. Robert Dockins
released
Shellac, a framework for building read-eval-print style shells.
This should ease the burden of binding readline-style
interactive shells in Haskell.

Lambda Shell. Robert Dockins also released v0.1 of
Lambda Shell, a shell environment for evaluating terms of the pure,
untyped lambda calculus. A lambdabot interface for use in #haskell
also exists.

Shaskell. David Mercer
announced version 0.21a of Shaskell, a SHA2 library for sha256 and
sha512 hashes, written in pure Haskell.

hdbc-missingh. John Goerzen
announced
the initial release of HDBC-MissingH, a library to add database
features to MissingH, allowing the use of a SQL database as
storage for a simple DBM-like key/value interface.