[Haskell] Haskell Weekly News: May 07, 2007
Donald Bruce Stewart
dons at cse.unsw.edu.au
Mon May 7 01:53:24 EDT 2007
Haskell Weekly News
Issue 62 - May 07, 2007
Welcome to issue 62 of HWN, a weekly newsletter covering developments
in the Haskell community.
This week sees the release of Atom, a hardware description language
embedded in Haskell, along with the usual suite of new libraries and
tools. In addition, The Monad.Reader Issue 7 was released, and the
hackage upload festival continues unabated.
Atom: Hardware Description in Haskell. Tom Hawkins announced the
release of Atom, a high-level hardware description language
embedded in Haskell, compiles conditional term rewriting systems into
The Monad.Reader: Issue 7. Wouter Swierstra announced the latest
issue of The Monad.Reader. The Monad.Reader is a quarterly magazine
about functional programming. It is less-formal than journal, but
somehow more enduring than a wiki page or blog post.
HDBC: Haskell Database Connectivity. John Goerzon announced that
HDBC 1.1.2 is now released. HDBC provides an abstraction layer
between Haskell programs and SQL relational databases. This lets you
write database code once, in Haskell, and have it work with any number
of backend SQL databases.
FileManip: Expressive Filesystem Manipulation. Bryan O'Sullivan
announced the FileManip package provides expressive functions
and combinators for searching, matching, and manipulating files.
photoname: manipulate photos using EXIF data. Dino Morelli
announced the release of photoname, a command-line utility for
renaming and moving photo image files. The new folder location and
naming are determined by two things: the photo shoot date information
contained within the file's EXIF tags and the usually-camera-assigned
serial number, often appearing in the filename.
RSA-Haskell: Command-line Cryptography. David Sankel announced the
release of RSA-Haskell, a collection of command-line cryptography
tools and a cryptography library written in Haskell. It is intended to
be useful to anyone who wants to secure files or communications or who
wants to incorporate cryptography in their Haskell application.
Haskell modes for Vim. Claus Reinke summarised the various
Haskell/Vim support currently available
French Translation of Gentle Introduction to H98. The haskell-fr team
announced a completed a translation into French of the 'Gentle
Introduction to Haskell'.
This section covers the Haskell' standardisation process.
* Polymorphic strict fields
This week's new libraries in the Hackage library database.
* BitSyntax-0.2. Adam Langley. A simple function for the
construction of binary data.
* filepath-1.0. Neil Mitchell. Library for manipulating
FilePath's in a cross platform way.
* Chart-2007.3.5. Tim Docker A library for generating 2D Charts
* FileManip-0.1. Bryan O'Sullivan A Haskell library for working
with files and directories.
* hsns-0.5.2. Austin Seipp A network sniffer written in a purely
* template-0.1. Johan Tibell Simple string substitution library
that supports dollar-based substitution.
* ASN1-0.0.1. Dominic Steinitz ASN.1 suppport for X.509 identity
and attribute certificates, PKCS8, PKCS1v15.
The Proper Definition of (evaluate :: a -> IO a). Isaac Dupree
described a variant of evaluate with modified semantics to the
Why is Data.Set not a monad?. Dan Doel documented the reasons why
Data.Set is not currently an instance of Monad.
Chaos. Andrew Coppin announced chaos, a fun image generating
The Functional Pearls. Don Stewart collected the functional pearls
known to be available online, on to a single page on the Haskell wiki.
Haskell news from the blogosphere.
* HUG: Nested Data Parallelism in Haskell
* HUG: London Haskell User Group
* New York Functional Programmers meeting: roundup
* Python-style string split in Haskell
* Thinking in types
* Using the Haskell package system
* Fixed precision, an update
* Use of Text.XHtml.Strict for Outputting XHTML
* Idiom: Plan for Currying
* Bowling in Haskell
* The Trivial Monad
* Homeland Security Threat Level Monad
* Monads as universe helpers
* Understanding comonads
* Coding in Haskell: conciseness
* Functional programming in Wall Street
* Phantom Types for Real Problems
* Haskell rocks
* Advertising the ICFP Programming Contest
* Haskell wikibook
* Roll Your Own Window Manager: Part 1: Defining and Testing a Model
* Haskell and the Type Calculus: or, the Good -> Bad -> Ugliness of Types
* FileManip, an expressive Haskell library for manipulating files
* Programming in Haskell
* Parsing JSON in Haskell
* Namespace confusion
* A Scheme parser in Haskell
* Simple performance analysis
* Playing with Haskell unsafely
* repeat and sequence
* Haskell and C: functions returning more than one value
Quotes of the Week
* Oleg K: So, `bind' is `let' and monadic programming is equivalent
to programming in the A-normal form. That is indeed all there is
* kc5tja: Premature evil is the root of all optimization
* Tommah: Remember, kids: if you program in a language with side
effects, the terrorists win.
* ndm: Comments are for people who can't sense what their code does
from the indentation
* jcreigh: GHC has lots of interesting features above Haskell98,
I've noticed. 'You can take the red pill or the blue pill...'
'Hmm. What's the green pill?' 'What? Oh. That's GHC.'
* schluehk: It's about a variant of the other big Haskell credo:
once it compiles it works. Once you have written a prototype you
have also a spec. If this is not agile I don't know what? It is a
quite remarkable inversion. Formerly people wanted tools that are
so versatile that they let them express almost everything with
great ease and where they didn't care a lot about speed
optimizations and corner cases in the early iterations. Now people
want tools that restricts intentionally their expressivity to let
them do big upfront design as source code. They want to be guided
to initial perfection. Let's face it: Haskell has quite some
momentum in the dialectic move.
Notable new features and bug fixes to the Haskell compilers.
Thu May 3 06:19:55 PDT 2007. Simon Marlow. Add history/trace
functionality to the GHCi debugger. The debugger can now log each step
of the evaluation without actually stopping, keeping a history of the
recent steps (currently 50). When a (real) breakpoint is hit, you can
examine previous steps in the history (and their free variables) using
the :history, :back and :forward commands.
Wed May 2 09:34:57 PDT 2007. Simon Peyton-Jones. Make records work
properly with type families. This fixes Trac #1204. There's quite a
delicate interaction of GADTs, type families, records, and in
particular record updates.
About the Haskell Weekly News
Each week, new editions are posted to the Haskell mailing list as
well as to the Haskell Sequence and Planet Haskell. RSS is
also available, and headlines appear on haskell.org. Headlines are
available as PDF.
To help create new editions of this newsletter, please see the
contributing information. Send stories to dons at cse.unsw.edu.au.
The darcs repository is available at darcs get
More information about the Haskell