Haskell Weekly News: August 8, 2009

Submitted by byorgey on Sat, 08/08/2009 - 10:00am.
Haskell Weekly News: August 08, 2009

Welcome to issue 127 of HWN, a newsletter covering developments in the Haskell community.

Apologies for the long hiatus, mostly due to organizing Hac phi (which was a great success!). And I'm now going on vacation for a couple weeks and may have limited Internet access, so don't hold your breath for an issue of the HWN next week either... anyway, a ton of interesting stuff has happened over the past three weeks (of course), including a bunch of discussion on the Haskell-prime mailing list, a number of package releases, Haskell Platform discussion, and more.


bindings-posix 0.0.2. Mauricio announced bindings-posix, a low level binding to Posix. It makes use of facilities and design from the bindings-common package to map the standard Posix library.

bindings-common 0.2.1. Mauricio announced a new release of bindings-common, which offers basic code that provides a common design standard and common utilities for writing modules providing low-level foreign library bindings. The major new feature of this release is the availability of hsc2hs custom macros, and a corresponding reduction in code size.

Dyre - Dynamic Program Recompilation (Xmonad-style configuration). Will Donnelly announced the release of dyre, a library for xmonad-style program recompilation. It is based in spirit after the HConf library written by the Yi project, but with a focus on simple integration, state persistence as an optional feature, and Windows support.

nntp 0.0.2. Maciej Piechotka announced the release of nntp, a library to connect to nntp (i.e. mainly USENET) servers. This version represents a complete rewrite from version 0.0.1, including a new NntpT monad and basic support for XHDR.

GLUT Sven Panne announced a new version of the GLUT package, which depends on the new OpenGL, StateVar and Tensor packages, but is otherwise unchanged except for a new demo.

OpenGL Sven Panne announced a new version of the OpenGL package, which is now only a convenience layer upon the OpenGLRaw and GLURaw packages, written in in pure Haskell without the FFI. The latter two packages load the native libraries dynamically and do not rely on any C headers, making it possible to build all OpenGL-related packages even on machines without any installed native OpenGL support.

yices Ki Yung Ahn announced yices, a Haskell interface to the Yices SMT solver.

ALUT Sven Panne announced a new version of the ALUT package, which now depends on the highly portable StateVar package instead of OpenGL.

OpenAL Sven Panne announced a new version of the OpenAL package, which now depends on the highly portable StateVar, ObjectName and Tensor packages, instead of OpenGL.

Tensor Sven Panne announced the Tensor package, yet another spin-off of the OpenGL package, containing a few tensor data types and their instances for some basic type classes.

darcs 2.3.0. Petr Rockai announced a new stable release of darcs, version 2.3.0. This version includes a number of improvements and bugfixes over the previous stable release, 2.2. Moreover, work has been done to improve performance of "darcs whatsnew" for large repositories.

uacpid-0.0.4. Dino Morelli announced the release of uacpid, a daemon designed to be run in userspace that will monitor the local system's acpid socket for hardware events. These events can then be acted upon by handlers with access to the user's environment.

Korean translation of "Programming in Haskell". Ki Yung Ahn announced a new non-English book on Haskell, published on July 24.

TABI 0.1: a typeful tagged cross-language calling convention. Bulat Ziganshin announced a preliminary release of TABI, a library providing a typeful, tagged cross-language calling convention.

Typeful/Text/HTMLs (for AngloHaskell/for scrap?). Jon Fairbairn announced an HTML library which guarantees standards compliance via types, even down to the nesting restrictions.

yst 0.2.1. John MacFarlane announced the release of yst, which generates static websites from YAML or CSV data files and StringTemplates. This approach combines the speed, security, and ease of deployment of a static website with the flexibility and maintainability of a dynamic site that separates presentation and data.

The Haskell Platform 2009.2.0.2. Don Stewart announced the third release (2009.2.0.2) of the Haskell Platform, a single, standard Haskell distribution for everyone.

atom 0.1.0. Tom Hawkins announced the 0.1.0 release of Atom, a Haskell DSL for hard realtime applications. This release includes support for assertions and functional coverage to aid simulation and testing.

tkhs-0.1.* Presentation Utility. Yusaku Hashimoto announced the release of tkhs-0.1.*, a simple presentation utility. If you are thinking PowerPoint is overkill for your presentation, Tkhs may fit the purpose.

RFC: Unicode support in Alex. Jean-Philippe Bernardy requested feedback on his modifications to the Alex lexer generator to support Unicode. The prototype is available on github.

The Monad.Reader - Issue 14. Wouter Swierstra announced Issue 14 of The Monad.Reader. This issue contains three articles "Fun with Morse Code" by Heinrich Apfelmus, "Hieroglyph 2: Purely Functional Information Graphics Revisited" by Jefferson Heard, and "Lloyd Allison's Corecursive Queues: Why Continuations Matter" by Leon P Smith.

TBC: Testing By Convention. Peter Gammie announced the release of TBC, a test harness which has features complementary to existing harnesses: it attempts to compile and run all tests, even if some do not compile or run; and tests following conventions require a lot less boilerplate.

Elerea version 1.x.x. Patai Gergely announced an update of his FRP library, Elerea, along with some updates to the accompanying example programs. The interface was changed into a monadic-applicative hybrid that distinguishes stateful and stateless combinators for safety reasons: most importantly, the latcher was removed due to various practical issues, and it is replaced by much better behaved stateless higher-order constructs. The library is now capable of handling arbitrary higher-order signals.

haskell-src-exts-1.1.0. Niklas Broberg announced the release of haskell-src-exts-1.1.0, bringing you tuple sections, comments, and a few bug fixes.

graphviz-2999.1.0.2. Ivan Lazar Miljenovic announced a bug fix release of the graphviz package, which fixes a bug spotted by Srihari Ramanathan where the Dot representation of Color values were double-quoted when they shouldn't have been.

Leksah 0.6. Hamish Mackenzie announced the 0.6 release of Leksah, a Haskell IDE. New features include integrated GHCi based debugging, multi-window support, improved layout control, regular expression find and replace, ability to grep files in the current package, and improved Mac OS X integration.

Semantic Web. Vasili I. Galchin announced the cabalisation of Swish-0.2.1 (Semantic Web Inference uSing Haskell), a semantic web toolkit designed and implemented by Graham Klyne. The package now builds on GHC 6.8.2, with more improvements planned.

graphviz-2999.1.0.1. Ivan Lazar Miljenovic announced a bug-fix release to fix the problems with Either-based Attributes in the previous release (2999.0.0.0), spotted mainly by Zsolt Dollenstein.

cautious-file 0.1.1: Ways to write a file cautiously, to avoid data loss. Robin Green announced the first public release of cautious-file, which provides a writeFile function that has several advantages over Prelude.writeFile: it uses the recommended way of writing a file on POSIX, so as not to expose the user to the risk of data loss after a crash or power failure; and it uses a temporary, randomly-named file for writing and only overwrites an existing file once the write is complete.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Haddock improvements! Isaac Dupree has cleaned up most of the loose edges on cross-package documentation, and has begun moving comment parsing from GHC to Haddock.

EclipseFP. Thomas Ten Cate is finally happy with his refactorings of the Scion client, and has done quite a bit of cleanup of compilation warnings and unit tests.

Improving the Haskell space profiling experience. Gergely Patai posted about segfaults with gtk2hs, and using Cairo instead of OpenGL for rendering, and has some nice screenshots of the profiling client.

haskell-src-exts -> haskell-src. Niklas Broberg has started working on comment support.

Fast darcs. Petr Rockai has made much progress, released darcs 2.3.0, and posted a discussion on patch formats.


Adding binary to the Haskell Platform. Don Stewart began a discussion thread on the possibility of adding the binary package to the Haskell Platform.

Thinking about what's missing in our library coverage. Don Stewart asked how to identify packages that ought to be added to the Haskell Platform, and areas of functionality that are missing.

Proposal: TypeDirectedNameResolution. Johannes Waldmann began a discussion on a proposed language extension, type-directed name resolution.

Implicit concatenation in list comprehensions. Max Bolingbroke started a discussion on a proposed syntax extension to allow multiple expressions on the left-hand side of a list comprehension, resulting in implicit concatenation.


Postdoc and Ph.D. position on 3gERP-project at DIKU. Fritz Henglein announced the availability of a postdoc position and a Ph.D. scholarship at the Department of Computer Science, University of Copenhagen (DIKU) within 3d generation enterprise resource planning systems (3gERP), a collaborative strategic research project with partners at DIKU (computer science), Copenhagen Business School (CBS, information systems) and Microsoft Development Center Copenhagen (MDCC, enterprise systems).

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • dons: i heard there were webservers written in languages other than haskell
  • yrlnry2: #haskell is the most functional channel I've ever seen.
  • JonFairbairn: And one of the tests failed because Bolivia is now the Plurinational State of Bolivia, so I've add a patch for that. I've seen politics get in the way of programming, but I've never had a bug caused by /international/ politics before.
  • Adamant: ah, monads. the pons asinorum of Haskell.
  • QP: i drink i'm two thunk for this... i'm seeing (Double, Double)
  • benmachine: wait why am I giving advice I don't know anything
  • jfredett: <shapr> @yow ! <jfredett> YOW! I seem to SEE a SHAPR asking for FUNNY ZIPPY QUOTES, TOO bad I left them in my OTHER PANTS
  • Berengal: Anyone doubting the immutable value philosophy needs to try vacuum
  • badsheepy: [in response to a spammer] my word, i feel immediately compelled to medicate myself.
  • monochrom: Haskell has solved programming. All that can be said programming is already said in tutorials and the haskell wiki. That is why we drift to meta topics.
  • kalven: <yottis> i thought there were like 10 haskell jobs in the world, all in the "let's replace excel sheets with something else" industry <kalven> there are at least 20.
  • BMeph: okmij.net, conal.net, comonad.reader, and sigfpe.blogspot.com; the four horsemen of the Haskell Apocalypse.
  • jaredj: [on parsec] i thought i got it but i need to 'try' again
  • gwern: *ponders Haskell nerdcore: 'I'm all about exact math, yo; I eat CReal for breakfast'*
  • Baughn: remember that comments take up space in compiled Haskell programs, and furthermore they take up processing time if execution passes through them. For these reasons, keep comments to a minimum, and never put comments inside of optimized Haskell code. Ideally all of your comments will lie outside of the path of execution.
  • gbacon: okay, I just tried to type Monday, but it came out Monady. Assimilation complete.
  • BenLippmeier: Are Haskell and OCaml destined to be The Velvet Underground of programming languages, where hardly anyone has heard them, but everyone who does forms a band?

About the Haskell Weekly News

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.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .