[Haskell] Haskell Weekly News: January 09, 2007
Donald Bruce Stewart
dons at cse.unsw.edu.au
Mon Jan 8 19:42:04 EST 2007
Haskell Weekly News
Issue 56 - January 09, 2007
Welcome to issue 56 of HWN, a weekly newsletter covering developments
in the Haskell community.
More libraries and applications for the new year, and the Haskell
Hackathon gets underway!
Happy: LALR(1) parser generator. Simon Marlow announced version
1.16 of Happy, the parser generator system for Haskell. Changes
from version 1.15 to 1.16 include switching to Cabal, a new %error
directive, new production forms, and attribute grammar support. Happy
version 1.16 is required for building GHC version 6.6 and later.
Alex: lexical analyser generator. Simon Marlow announced version
2.1.0 of Alex. Changes in Alex 2.1.0 vs. 2.0.1 include switching to
Cabal, and slight changes to the error semantics.
rdtsc: reading IA-32 time register. Martin Grabmueller announced
version 1.0 of package rdtsc has just been released. This small
package contains one module called 'Rdtsc.Rdtsc', providing the
function 'rdtsc' for accessing the 'rdtsc' machine register on modern
IA-32 processors. This is a 64-bit counter which counts the number of
processor cycles since the machine has been powered up. Using this
instruction, you can make very precise time measurements which are
independent of the actual CPU frequency.
monadLib 3.0. Iavor Diatchki announced a new version of
monadLib, a collection of standard monad implementations. Some of
the changes compared to the previous version: the whole library is in
a single module MonadLib.hs (~500 lines); simpler and more symmetric
API; removed the (generic) monadic combinators; removed the search
transformer; rewrote some transformers in the 'traditional' way
(exceptions and output); there is an optional module that defines base
monads corresponding to each transformer.
Shellac 0.6. Robert Dockins announced a simultaneously release of
the following related packages: Shellac 0.6 Shellac-readline 0.3 and
Shellac-vty 0.1. Shellac is a framework for building
read-eval-print style shells which uses configurable backend plugins.
The major new feature of this release is the new Shellac-vty backend
package, which uses the new Vty library terminal I/O directly. It
currently has basic line editing keybindings, paging, and a command
history. The main package and Shellac-readline updates consist of
minor API updates.
IntelliJIDEA for Haskell. Tony Morris announced syntax
highlighting support for Haskell in IntellijIDEA, released under a
Yampa + GADT for GHC 6.6. Joel Reymont announced a cabalized
version of Yampa + GADT for GHC 6.6. Joel also sought comments on
cabalisation, testing and example for this package.
HNOP. Ashley Yakeley updated the status of HNOP, the Haskell
library for doing nothing. It has recently been split into two Cabal
packages: 'nop', a library of no-op services, and 'hnop', a program
that uses nop to do nothing. Both packages can be found in darcs. The
two packages are intended to be templates for Cabal projects, so I'm
interested in making them as canonical and 'best practices' for
packaging libraries and executables.
This section covers the Haskell' standardisation process.
* Rough draft of informal pattern-guard (qualifiers) explanations
instance Monad Set, using GADTs. Roberto Zunino announced a
definition of the Set datatype, with the usual operations, such that
it can be made a member of the Monad class.
GADTs are expressive. Jim Apple described a data type which holds
only those terms of the untyped lambda calculus that are reducible to
normal form, using GADTs
Hackage interface. Ross Paterson set up (temporarily) a simple
first cut at an interface to the Hackage package database. On a
related note, there was some discussion for home pages for Hackage
projects, and collecting statistics.
The Haskell Hackathon. Hac 2007 is being held this week, January
10-12th, in Oxford, with around 20 Haskell coders from across the
world gathering to hack on libraries and practical tools for Haskell.
Work is planned for at least hackage, Cabal, bytestrings, binary IO,
http, GHC, YHC, Hoogle, DrHaskell, WinHugs, GHCi debugger, crypto,
QuickCheck 2, Haddock and more besides. Notably, some graduates from
this year's Google Summer of Code projects will be attending, with
plans to integrate their work into the main project branches. Happy
Haskell news from the blogosphere.
* Liberating Myself from the von Neumann Style
* First impressions of Haskell: Whoa!
* Comparing Gzip Code Reduction
* Simple demonstration of Haskell FFI
* Does Functional Programming Matter?
* 2006 in review
* Haskell script to replace tabs
* Functional programming is functional
* The shock of the forgotten
* Category theory
* Does Haskell need macros?
* On darcs
* Learning things
* Folds for imperative programmers
* Dammit all! I've been blubbed
* Getting started with installing third-party Haskell packages
* A Nice Way to Learn FP
* Learning Haskell
* Haskell and Eclipse
* Haskell and Eclipse: building a server executable
* What makes a programming language more productive?
* Composability and Productivity
* Arithmetic coding in Haskell
* A quick and dirty theorem prover in Haskell
* Haskell is Fun!
* 2007, the year of software reliability?
* Haskell, bondage-and-discipline and separation-of-concerns programming
* Type systems as safety belts
* It's Haskell!
* Two promising Haskell projects: Vital and Pivot
* Exceptions and interrupts
Quotes of the Week
* Eric: The Haskell [code] contains no redundancy. In fact, in all
the [Haskell] code I've written, in both production and play, each
idea is expressed once and only once. It is the Zen ideal of
perfect code. And thats never happened to me before.
* nostrademons: Haskell is in a similar position [to Scala] - a
complex language with many sustaining innovations - but it has one
major disruptive innovation. Purity. Now, the question is whether
that can be leveraged in a way that makes it useful in some market
that existing imperative languages can't reach. My bets are on
* Excedrin: Isn't OO deprecated?
* dpiponi: [monochrom] Nevermind monads. Use arrows. Come join the
Dart Side! [dpiponi] Never mind arrows. Use comonads. Cojoin the
* nilsi: #haskell is better than Google
* sigfpe: I think Haskell is a great language for short attention
spans. You can get so much done in one line before you get bored.
* timthelion: Oh wait, I LOVE foldr!! And I have only been learning
Haskell for hours
* kowey: All the things with guards are just there to siphon off the weirdos
* Eric: [Haskell] astonishes me at every turn with its beauty and
elegance. I've never felt such power. Haskell has brought back a
joy in programming that I didnt even know I was missing.
* Paul Johnson: Mutable state is actually another form of manual
memory management: every time you over-write a value you are
making a decision that the old value is now garbage, regardless of
what other part of the program might have been using it.
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