[Haskell] Haskell Weekly News: April 27, 2007
Donald Bruce Stewart
dons at cse.unsw.edu.au
Fri Apr 27 01:02:39 EDT 2007
Haskell Weekly News
Issue 61 - April 27, 2007
Welcome to issue 61 of HWN, a weekly newsletter covering developments
in the Haskell community.
The last week was a very exciting week for the Haskell community, with
a new GHC release, the first release of Xmonad, a window manager
written in Haskell, and DisTract, a new distributed bug tracker,
written in Haskell. A number of new Haskell jobs were announced, and
several new user groups were formed!
GHC 6.6.1. Ian Lynagh announced a new patchlevel release of GHC.
This release contains a significant number of bugfixes relative to
6.6, so we recommend upgrading. Release notes are here. 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.
Xmonad 0.1. Spencer Janssen announced the inaugural release of
Xmonad. Xmonad is a minimalist tiling window manager for X, written
in Haskell. Windows are managed using automatic layout algorithms,
which can be dynamically reconfigured. At any time windows are
arranged so as to maximise the use of screen real estate. All features
of the window manager are accessible purely from the keyboard: a mouse
is entirely optional. Xmonad is configured in Haskell, and custom
layout algorithms may be implemented by the user in config files.
DisTract: Distributed Bug Tracker implemented in Haskell. Matthew
Sackman announced DisTract, a Distributed Bug Tracker. We're all
now familiar with working with distributed software control systems,
such as Monotone, Git, Darcs, Mercurial and others, but bug trackers
still seem to be fully stuck in the centralised model: Bugzilla and
Trac both have single centralised servers. This is clearly wrong, as
if you're able to work on the Train, off the network and still perform
local commits of code then surely you should also be able to locally
close bugs too. DisTract allows you to manage bugs in a distributed
manner through your web-browser. The distribution is achieved by
making use of a distributed software control system, Monotone. Thus
Monotone is used to move files across the network, perform merging
operations and track the development of every bug. Finally, the glue
in the middle that generates the HTML summaries and modifies the bugs
is written in Haskell.
IOSpec 0.1. Wouter Swierstra announced the first release of the
Test.IOSpec library, that provides a pure specification of some
functions in the IO monad. This may be of interest to anyone who wants
to debug, reason about, analyse, or test impure code. Essentially, by
importing libraries from IOSpec you can the same code you would
normally write in the IO monad. Once you're satisfied that your
functions are reasonably well-behaved, you can remove the Test.IOSpec
import and replace it with the 'real' functions instead.
wl-pprint-1.0: Wadler/Leijen pretty printer. Stefan O'Rear
announced wl-pprint-1.0, the classic Wadler / Leijen pretty
printing combinators, now in 100% easier to use Cabalised form!
PPrint is an implementation of the pretty printing combinators
described by Philip Wadler (1997). In their bare essence, the
combinators of Wadler are not expressive enough to describe some
commonly occurring layouts. The PPrint library adds new primitives to
describe these layouts and works well in practice.
London Haskell User Group. Neil Bartlett announced the first
meeting of the London Haskell User Group on Wednesday 23rd May
from 6:30PM. The meeting will be held at City University's main campus
in central London, and Simon Peyton Jones will be coming to give a
New York Functional Programmers Network. Howard Mansell announced
a New York area-based network for Haskell (and functional)
programmers. The idea is to have a regular meeting through which
functional programmers can meet to discuss experiences, get and give
information, find jobs.
Data.Proposition 0.1. Neil Mitchell announced the release of
Data.Proposition, a library that handles propositions, logical
formulae consisting of literals without quantification. It
automatically simplifies a proposition as it is constructed using
simple rules provided by the programmer. Implementations of
propositions in terms of an abstract syntax tree and as a Binary
Decision Diagram (BDD) are provided. A standard interface is provided
for all propositions.
Book reviews for the Journal of Functional Programming. Simon Thompson
sought interested contributors for book reivews for the Journal of
Functional Programming. There is a list of books currently
available for review.
Reminder: HCAR May 2007. Andres Loeh reminded us that the deadline
for the May 2007 edition of the Haskell Communities and Activities
Report is only a few days away -- but this is still enough time to
make sure that the report contains a section on your project, on the
interesting stuff that you've been doing; using or affecting Haskell
in some way.
Template 0.1: Simple string substitution. Johan Tibell announced a
simple string substitution library that supports substitution ala
Perl or Python.
hpaste for emacs. David House announced hpaste.el, an Emacs Lisp
library that integrates hpaste, the Haskell pastebin, into Emacs.
It provides two functions, hpaste-paste-region and
hpaste-paste-buffer, which send the region or buffer to the hpaste
server as required.
This section covers the Haskell' standardisation process.
* General pattern bindings
* Relax the restriction on Bounded derivation
* data syntax
* Mathematical preludes
* Literate Haskell specification
This week's proposals and extensions to the standard libraries.
* Add a MonadState instance for the Parsec monad
* Use 'Wide' API if System has it
This week's new libraries in the Hackage library database.
GHC Release Plans. Simon Marlow initiated a discussion on possibe
release timelines for upcoming GHC versions.
More inlining. Duncan Coutts asked about more fine grained control
over inlining in GHC, to ease term rewriting with RULES
Haskell version of Norvig's Python Spelling Corrector. Pete Kazmier
spawned a long thread covering various implementations of spelling
correctors in Haskell
Quantitative Functional Programmer. Credit Suisse. The Global
Modelling and Analytics Group (GMAG) is responsible for producing
state-of-the-art pricing, trading and hedging models for Credit
Suisse. These models are used across a range of businesses in the
Fixed Income and Equity Divisions. The groups mandate covers all major
asset classes including Credit Derivatives, Commodities, Emerging
Markets, Equity Derivatives and Convertibles, Exotics, Foreign
Exchange, Fund Linked Products, Interest Rate Products and Mortgage
Derivatives. GMAG operates globally with 85 members located in New
York, London, Hong Kong and Tokyo. We are currently building a Domain
Specific Language (embedded in Haskell) that will be used within GMAG.
We require intelligent, motivated people to develop and extend this
language. These individuals will also work with modellers to aid them
in effectively applying these new tools.
Haskell programmer positions. HAppS. HAppS LLC has part-time and
full-time positions open for Haskell programmers to: improve the open
source Haskell codebase at HAppS.org; implement infrastructure to make
it work well in Amazon S3/EC2 environments; make http://pass.net
reliable enough to be used by live apps; build the mass market apps we
want to run on top of the HAppS/Pass.net platform. We are looking for
people who: have substantial experience programming Haskell; have
experience building Internet apps (not necessarily in Haskell but
would be good), and live in any of these places: the Internet, New
York, San Francisco Los Angeles.
Vacancy for a PhD student. Johan Jeuring announced a vacancy for a
PhD student in the Strategy Feedback project. Knowledge of Haskell is
a big plus; implementation of most of the tools will be done in
Haskell. Length: 1+3 years, Open University the Netherlands, Location:
Haskell news from the blogosphere.
* Overloading Haskell numbers, part 1, symbolic expressions
* Overloading Haskell numbers, part 2, Forward Automatic Differentiation
* Overloading Haskell numbers, part 3, Fixed Precision
* More Haskell parallelism
* Haskell status: impressed
* On haskell: writing a packet sniffer
* Must-see Haskell talks at OSCON 07
* Zen and the Art of Functional Programming
* Playing with sections in Haskell
* More playing with sections (and flip)
* Thinking in objects
* Robot localization using a particle system monad
* 21 open problems in typed lambda calculus
* Arrows and security in Haskell
* Haskell GUI Programing
* Splitting a string in Haskell
* Introduction to Haskell: I like it a lot
* Haskell (ish) code, Java gui
* Haskell wikibook blurb
* Functional and Object-Oriented Programming
* Xmonad: a lightweight window manager
* Xmonad: a tiling window manager written in Haskell
* Xmonad: Haskell window management has arrived
* Xmonad: a minimal window manager in Haskell
* Xmonad: in the footsteps of wmii
* Xmonad: a new window manager
* Haskell code
* IO in Haskell
* Haskell records considered grungy
Quotes of the Week
* apfelmus: Programming in Haskell is like dual-wielding two light
sabers whereas programming in imperative languages is like being
equipped with a blunt kitchen knife.
* mwc: C++ is multiparadigm in the same way a dog with 4 table legs
nailed onto it is an octopus
* ptolomy: Sometimes Haskell feels like a personal trainer for
proper program construction. You half-ass something, and the
compiler doesn't let you get away with it and won't let you move
on until you do it right.
* dons: I wish you success and may your lambdas always beta reduce
* quicksilver: May your years be long and your type inference
* inverselimit: So I tried as my first project in Haskell to write
something that decomposes modules of polynomials using Schur-Weyl
duality. This turned out to be a little tricky without being
comfortable with the syntax
* jcreigh: Could not find instance Ord for type ProgrammingLanguage
Apr 19 07:23:58 PDT 2007. Simon Marlow. More debugger
improvements. :list shows the code around the current breakpoint. Also
it highlights the current expression in bold (the bold/unbold codes
are hardwired to the ANSI codes right now, I'll provide a way to
change them later). :set stop cmd' causes cmd to be run each time we
stop at a breakpoint. In particular, :set stop :list is particularly
Wed Apr 25 03:18:32 PDT 2007. simonpj. Add
-fwarn-monomorphism-restriction (on by default) to warn when the MR is
used. Users often trip up on the Dreaded Monomorphism Restriction.
This warning flag tells you when the MR springs into action. Currently
it's on by default, but we could change that.
Thu Apr 26 02:37:19 PDT 2007. Pepe Iborra. New section on
debugging lambdas in the ghci user guide
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