Haskell Weekly News: January 19, 2009

Submitted by byorgey on Mon, 01/19/2009 - 2:43pm.
Haskell Weekly News: January 19, 2009

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

Gee whiz, people, stop being so darn productive or you're going to burn me out. Seriously.


curl-1.3.4. Sigbjorn Finne announced that a new version of curl, a complete Haskell binding to the libcurl API, is now available and have been uploaded to Hackage. The most notable change is the overloading of representation of response buffers (and headers), allowing for the use of ByteStrings.

Turbinado V0.4. Alson Kemp announced the release of version 0.4 of Turbinado, an easy to use Model-View-Controller-ish web framework for Haskell. Highlights for the 0.4 release include a dramatically improved ORM which handles foreign keys, and improved documentation.

Hackage about to reach 1000 releases. Don Stewart announced that Hackage is about to reach the 1000 release mark, 2 years after it went live. Some pretty charts can be seen here.

leapseconds-announced-2009. Bjorn Buckwalter announced the release of the leapseconds-announced package, which contains a single module and a single function implementing the Data.Time.Clock.TAI.LeapSecondTable interface.

zipper-0.1. Andres Loeh announced zipper-0.1, a library offering a generic zipper for systems of recursive datatypes.

multirec-0.2. Andres Loeh announced multirec-0.2, a library which provides a mechanism to talk about fixed points of systems of datatypes that may be mutually recursive. On top of these representations, generic functions such as the fold or the Zipper can then be defined.

ghci-haskeline 0.1. Judah Jacobson announced the first release of ghci-haskeline. This package uses the GHC API to reimplement ghci with the Haskeline library as a backend. Haskeline is a library for line input in command-line programs, similar to readline or editline, which is written in Haskell and thus (hopefully) more easily integrated into other Haskell programs.

The Monad.Reader (13) - Call for copy. Wouter Swierstra announced a Call for Copy for Issue 13 of The Monad.Reader. The submission deadline is February 13, 2009. Please get in touch with Wouter if you intend to submit something.

Cabal 2.0. Duncan Coutts announced that he has started a wiki page to collect ideas for Cabal 2. The basic idea for Cabal 2 is to learn lessons from our how the existing design has fared and how we can make a better design to tackle an expanded set of goals.

Announcing Haskell protocol-buffers 1.4.0 (the smashing recursive edition). Chris Kuklewicz announced version 1.4.0 (the smashing recursive edition) of protocol-buffers, a Haskell interface to Google's "..language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more."

Haskell WikiProject. Robin Green asked: is anyone else interested in forming a Haskell WikiProject on Wikipedia, to collaborate on improving and maintaining the coverage and quality of articles on Haskell-related software and topics (broadly defined)?

darcs 2.2.0. Petr Rockai announced the release of darcs 2.2.0, with both a source tarball and a cabalized tarball available. This version features many improvements and bug fixes; see Petr's original announcement for a list.

hledger 0.3. Simon Michael announced the release of hledger 0.3, a partial haskell clone of John Wiegley's "ledger" text-based accounting tool. It generates transaction and balance reports from a plain text ledger file, and demonstrates a functional implementation of ledger.

language-sh- Stephen Hicks announced the language-sh package, a set of modules for parsing, manipulating, and printing sh-style shell scripts. It's being developed alongside shsh, the Simple Haskell Shell.

Coadjute 0.0.1, generic build tool. Matti Niemenmaa announced version 0.0.1 of Coadjute, a generic build tool intended as an easier to use and more portable replacement for make.

dataenc 0.12. Magnus Therning announced version 0.12 of dataenc, a data encoding library currently providing Uuencode, Base64, Base64Url, Base32, Base32Hex, Base16, Base85, and (new in 0.12) yEncoding.

3 applications of "indexed composition" as a language design principle. Greg Meredith announced that he has found a way to generalize the LogicT transformer, and calculated it's application to three fairly interesting examples.

HTTPbis / HTTP-4000.x package available. Sigbjorn Finne announced the availability of a modernization of the venerable and trusted HTTP package. The headline new feature of this version is the parametrization of the representation of payloads in both HTTP requests and responses; two new representations are supported, strict and lazy ByteStrings.

monad-interleave 0.1. Patrick Perry announced the monad-interleave package, which provides a type class generalizing his two favorite functions in Haskell, "unsafeInterleaveIO" and "unsafeInterleaveST".

hs-dotnet, version 0.3.0. Sigbjorn Finne announced the first public release of hs-dotnet, a pragmatic take on interoperating between Haskell (via GHC) and .NET.

HEADS UP: finalizer changes coming in GHC 6.10.2. Simon Marlow announced that, by popular demand, GHC 6.10.2 will support finalizers that are actually guaranteed to run, and run promptly. However, there's a catch. If you want to know what the catch is, read his message.

split-0.1.1 (doc bugfix; new functions wordsBy and linesBy). Brent Yorgey announced version 0.1.1 of the split library. This version fixes some Haddock bugs, and adds two new convenience functions suggested by Neil Mitchell, wordsBy and linesBy.

json-0.4.1. Sigbjorn Finne announced a new release (0.4.1) of the json package. New in this release is a generic JSON encoder contributed by Lennart Augustsson along with a number of other, smaller changes.

haskell-platform mailing list. Duncan Coutts announced that anyone interested in helping out with the haskell platform project is invited to subscribe to the haskell-platform mailing list. This mailing list is for discussing practical stuff; policy questions will be discussed on the libraries mailing list.

bytestring-trie 0.1.4. wren ng thornton announced version 0.1.4 of the bytestring-trie package. This release fixes a number of bugs, adds functions such as keys, toListBy, fromList{L,R,S}, and separated Data.Trie (the main module for users) from Data.Trie.Internal (gritty details, and core implementation).

HLint 1.2. Neil Mitchell announced HLint version 1.2, a lint-like tool for Haskell that detects and suggests improvements for your code. The biggest new feature is list recursion suggestions.

Working with HLint from Emacs. Alex Ott announced an emacs module for integration with HLint.


An Alternative Data.List.Zipper. Jeff Wheeler posted an improved version of Data.List.Zipper, and requested feedback or constructive criticism.

Comments from OCaml Hacker Brian Hurt. John Goerzen posted a link to a blog post by Brian Hurt, along with some thoughts about naming things in the standard libraries, spawning the longest ML thread in recent history.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • luqui: sigh: mathematicians. can't live with 'em, can't prove 'em wrong.
  • lament: tuples are proof that haskell is inherently broken and will never work.
  • roconnor: [after a long -cafe thread on the suckiness of using math terms in Haskell] we don't use Integer anymore. Too abstract. It is now called CountingThingy.
  • quicksilver: partially applied type synonym = type lambdas = unrestricted type functions = can of pants
  • ddarius: In the spirit of that article on monoids, we should drop the term "tree" and replace it with the term "free pointed magma"
  • ski_: unique among types, 'Void -> X' has its own charm. tourists should definitly pay a visit.
  • pao: Cale: thanks ... I really think you deserve a statue ... or, at least, a portrait in ascii art on haskell.org :-)
  • byorgey: TDD replaces a type checker in Ruby in the same way that a strong drink replaces sorrows.

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/ .