Haskell Weekly News

Greetings, and thanks for reading the second issue of HWN, a
weekly newsletter for the Haskell community.
Each
Tuesday, new editions will be posted (as text) to
the
Haskell mailing list and (as HTML) to
The Haskell
Sequence.

Discussion

Practical Monads. Paul Moore started a
discussion
about Monads and resources for learning about them. Quite a few
readers responded with suggestions.

STRef vs. IORef. Srinivas Nedunuri started a
discussion
by asking when to STRef and when to use IORef. Iavor Diatchki
posted a helpful example,
and many other helpful answers were posted as well.

Parsing Foreign Languages. The The
ParsingForeignLanguagesInHaskell wiki page was the subject of a
short discussion on the libraries mailing list. If you have any
further information or would like to join or start a project to
parse a particular language, see the wiki
page.

Haskell Toolchain

Darcs Corner

Darcs in FreshMeat. David Roundy is
looking
for volunteers to maintain the Darcs entry at
FreshMeat.net. It wouldn't require much time, but the ability to
summarize changes at release time.

Binary files and line endings. Phil Brooke
asked
how darcs handles line endings and binary files.

Uniqueness of patch names. On #darcs this week, a
discussion about the uniqueness of low-level patch names in
darcs. The consensus seemed to be that darcs needs an
additional better-than-1-second component to patch names to
eliminate a situation in which collisions can arise.

New Releases

Simon Marlow announced the release
of Haddock version 0.7. Highlights of this version include
improvements for linking across different packages, bug fixes,
collapsable trees in HTML, and support for new output
formats.

Einar Karttunen has released hsgnutls
0.1, a Haskell binding for the GnuTLS SSL/TLS library.

John Goerzen announced
the release of a preliminary, but working, binding to OpenLDAP
from Haskell.

Quotes of the Week

<CosmicRay> "Oh Lord, bless this thy holy IO monad, and
use it for thy purposes that it may smash Java to tiny bits..."
(with apologies to monty python)

<Pseudonym> If I ever write a GUI library for Haskell,
I'm going to call it pointlesstif.

About Haskell Weekly News

Want to continue reading HWN? Please help us create new
editions of this newsletter. Please see the
contributing
information, or send stories to
hwn -at- complete -dot- org. There
is also a Darcs repository available.

Since this is the first issue, it covers a few items more than
one week old.

Discussion

Updating the Haskell Standard? This question
was posed on haskell-cafe and reaction was mixed.

Best way to assemble strings? Andy Gimblett inquired
about building up strings.
The discussion covered options such as
printf, (++), concat, and even some sample code for
interpolation inside strings.

FFI, Threading, and Callbacks. John Goerzen asked
some questions about using FFI together with threading.
Simon Marlow has written a paper
on the topic that is useful background. Duncan Coutts
described
why some GUI toolkits presently do polling.

Haskell Toolchain

GHC 6.4.1 release candidate is available.
Simon Marlow has announced
the availability of GHC 6.4.1 release candidate and the
beginning of testing for 6.4.1. 6.4.1 includes many fixes,
including some performance enhancements, and also introduces
support for a native code generator for amd64.

Results of GHC Performance Week. Simon Marlow posted
a
summary of the results of the GHC performance week. They
found a number of things that improve the performance of GHC,
and some are already fixed in 6.4.1.

Cabal was a hot
topic this week. Brian Smith started a discussion about
conditional
code
in Cabal. It seems to be a common problem when porting software
to Windows. Duncan Couts asked about automated
platform building of Haskell packages based on their Cabal
descriptions.

GHC in Debian unstable. Due to a C++ transition going
on, GHC is currently uninstallable in Debian unstable.
If you want to use it on unstable, you can grab the libgmp3
package from stable. More details in Debian bug 319222.

Conferences

The 2005 Haskell Workshop is coming up on September 30 in
Tallin, Estonia. David Roundy, author of darcs, will be a
feature presenter this year. More information is available from
the
conference page.

Darcs Corner

Darcs 1.0.4pre2 released. David Roundy
announced
the availability of Darcs 1.0.4pre2. Major updates since 1.0.3
include reduced memory usage, and experimental support for git
archives.

darcsweb. Alberto Bertogli announced
darcsweb, a replcement for darcs.cgi modeled after gitweb.

Darcs Success Story. Mark Stosberg wrote about a
success
using Darcs for just-in-time branching.

New Releases

hsffig, a new FFI binding generator, was
announced
by Dimitry Golubovsky. Download via its Darcs repository.
The main unique feature of hsffig is that it can parse C .h
files without any human assistance whatsoever. Version
1.0 was also announced
just yesterday.

c2hs version 0.14.1 is out.
It has a new parser system and its build system is now based
upon Cabal.

MissingH
0.11.3 is out, and now supports Windows. MissingH is a
library of pure-Haskell utility functions relating to strings,
logging, and I/O. Darcs repository also
available.

MissingH LGPL/BSD branch was announced. This branch
is a stripped-down version of MissingH, with all GPL'd code
either re-licensed or removed. It is available from a Darcs
repository
only.

Quotes of the Week

<Speck> "That's like cheating. It isn't even programming. You just tell it
what to do and it does it." -- My friend upon seeing some Haskell code

About Haskell Weekly News

Want to continue reading HWN? Please help us create new
editions of this newsletter. Please see the
contributing
information, or send stories to
hwn -at- complete -dot- org. There
is also a Darcs repository available.

We welcome and encourage contributed news items from the Haskell community.

Basics
The simplest way to contribute is to submit stories for HWN. You may e-mail your stories to hwn .at. complete .dot. org. To make things easiest for us to process (which makes it more likely that your submission gets processed quickly), here are some hints:

Include links to whatever you are talking about. Readers need to have a place to go to read more about it.

Keep it short and sweet. HWN gives people a summary of what's happening, and links to more information.

Plain text or hand-edited HTML is preferred. Don't send us HTML from FrontPage.

Mailing List Links
HWN presently uses Gmane.org for links into Haskell mailing list discussions. If you send us links into the mailing list, we prefer that you link to the appropriate items on Gmane. If not, you can link to them in the haskell.org archives and we'll find the corresponding gmane posts ourselves. But please at least link to them *somewhere*.

Darcs Repository
If you want to be really helpful, you can check out our darcs repository and send us patches directly. This will be the absolute quickest way to get something into HWN, especially if you do a good job :-)

Check it out with:

darcs get --partial http://darcs.complete.org/hwn

You should always make all changes against the file prep.html in that repository. Other files may be in various stages of being prepared for release. Entries in prep.html will be moved around if necessary.