[Haskell] Haskell Weekly News: November 11, 2007

Don Stewart dons at galois.com
Sun Nov 11 21:17:16 EST 2007

Haskell Weekly News
Issue 67 - November 11, 2007

   Welcome to issue 67 of HWN, a newsletter covering developments in the
   [1]Haskell community.

   This week sees the release of GHC 6.8.1, to rave reviews. There have
   been many reports of large performance improvements for Haskell
   programs, from small to large production systems. Congratulations to
   the GHC team for such a great release!

   1. http://haskell.org/


   GHC 6.8.1. Ian Lynagh [2]announced the release of GHC 6.8.1, a new
   major release of GHC. There have been a number of significant changes
   since the last major release, including: Haskell Program Coverage
   support, the GHCi debugger, pointer tagging in the runtime (with up to
   10-15% speedups), constructor specialisation, improved optimisations
   and much more! The [3]full release notes are available.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/15733
   3. http://haskell.org/ghc/docs/6.8.1/html/users_guide/release-6-8-1.html

   Gtk2Hs Duncan Coutts [4]announced version of gtk2hs
   is [5]now available. gtk2hs is the standard graphics library for

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/15738
   5. http://haskell.org/gtk2hs/download/

   Lazy SmallCheck 0.1. Matthew Naylor [6]announced Lazy SmallCheck 0.1,
   a library for exhaustive, demand-driven testing of Haskell programs.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/15702

   HDBC 1.1.3. John Goerzen [7]announced new releases of HDBC, the
   Haskell database connectivity kit, and its associated backends (for
   sqlite3, postgresql, odbc).

   7. http://article.gmane.org/gmane.comp.lang.haskell.general/15729

   xmobar. Andrea Rossato [8]announced the release of Xmobar-0.8, a
   minimalistic, text based, status bar. It was specifically designed to
   work with the XMonad Window Manager.

   8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31465

   Flymake Haskell. Daisuke Ikegami [9]announced flymake haskell, emacs
   bindings for interactive Haskell editing.

   9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31453

   network bytestring. Johan Tibbel [10]announced, strict ByteString
   versions of the recv/send family of functions for efficient network

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/15645

   ByteString search. Bryan O'Sullivan [11]announced a cabalised version
   of the fast Boyer-Moore and Knuth-Morris-Pratt string search code for

  11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31229

   Generating free theorems. Janis Voigtlaender [12]announced an improved
   version of the online and offline free theorems generator for Haskell

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/15693

   hslogger4j 0.1.1. Bjorn Buckwalter [13]announced Hslogger4j, which
   provides handlers for hslogger (John Goerzen's Haskell logging
   framework) that are compatible with log4j's XMLLayout.

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/15707

   Infinity 0.3. Austin Seipp [14]announced `infinity', an IRC bot in

  14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/31228

   hswm. Remi Turk [15]announced the first and last release of hswm, a
   Haskell window manager.

  15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/30804


   This week's new libraries in [16]the Hackage library database.

  16. http://hackage.haskell.org/

     * xmobar-0.8. Uploaded by Andrea Rossato. [17]xmobar, a minimalistic
       text based status bar

     * hsSqlite3-0.0.4. Uploaded by Evgeny Jukov. [18]hsSqlite3, bindings
       for Sqlite3

     * cabal-rpm-0.3.2. Uploaded by Bryan OSullivan. [19]cabal-rpm turns
       Haskell Cabal source packages into source and binary RPM packages.

     * selenium-0.2.2. Uploaded by Aaron Tomb. [20]selenium, Haskell
       bindings to communicate with a Selenium Remote Control server.
       This package makes it possible to use Haskell to write test
       scripts that exercise web applications through a web browser.

     * HPDF-1.3. Uploaded by alpheccar. [21]HPDF. A PDF library with
       support for several pages, page transitions, outlines,
       annotations, compression, colors, shapes, patterns, jpegs, fonts,
       typesetting ...

  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar-0.8
  18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsSqlite3-0.0.4
  19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cabal-rpm-0.3.2
  20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/selenium-0.2.2
  21. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HPDF-1.3

     * FileManip-0.3.1. Uploaded by Bryan OSullivan. [22]FileManip, a
       Haskell library for working with files and directories. Includes
       code for pattern matching, finding files, modifying file contents,
       and more.

     * stringsearch-0.2. Uploaded by Bryan OSullivan. [23]stringsearch,
       fast search of ByteStrings.

     * nano-md5-0.1. Uploaded by Don Stewart. [24]nano-md5, ByteString
       bindings to OpenSSL.

     * denominate-0.4.1. Uploaded by Calvin Smith. [25]denominate
       provides a main program for performing bulk file and directory
       renaming, using a built-in filename converter or user-defined

     * ContArrow 0.0.2. Uploaded by Evgeny Jukov. [26]ContArrow,

  22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FileManip-0.3.1
  23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/stringsearch-0.2
  24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/nano-md5-0.1
  25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/denominate-0.4.1
  26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/

     * state 0.0.2. Uploaded by Evgeny Jukov. [27]state. State.

     * infinity 0.3. Uploaded by Austin Seipp. [28]infinity, a tiny,
       pluggable irc bot.

     * unix-compat Uploaded by Duncan Coutts. [29]unix-compat,
       portable implementations of parts of the unix package.

     * Ranged-sets 0.1.1. Uploaded by Paul Johnson. [30]Ranged-sets. A
       ranged set is an ordered list of ranges.

     * IFS 0.1.1. Uploaded by alpheccar. [31]IFS, a library to describe
       IFS and generate PPM pictures from the descriptions

  27. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  28. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  29. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  31. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/

     * bktrees 0.1.3. Uploaded by Josef Svenningsson. [32]bktrees.
       Burhard-Keller trees provide an implementation of sets which apart
       from the ordinary operations also has an approximate member
       search, allowing you to search for elements that are of a certain
       distance from the element you are searching for.

     * pqc 0.2. Uploaded by Don Stewart. [33]pqc, a parallel batch driver
       for QuickCheck

     * strict 0.2. Uploaded by Don Stewart. [34]strict, strict data types.

     * HsSVN 0.2. Uploaded by PHO. [35]HsSVN, (Part of) Subversion
       binding for Haskell

     * HsHyperEstraier 0.2. Uploaded by PHO. [36]HsHyperEstraier, a
       HyperEstraier binding for Haskell. HyperEstraier is an embeddable
       full text search engine which is supposed to be independent to any
       particular natural languages.

  32. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  33. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  34. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  36. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/

     * HsOpenSSL 0.3.1. Uploaded by PHO. [37]HsOpenSSL, a (part of)
       OpenSSL binding for Haskell. It can generate RSA and DSA keys,
       read and write PEM files, generate message digests, sign and
       verify messages, encrypt and decrypt messages.

     * Finance-Quote-Yahoo 0.4. Uploaded by Brad Clawsie.
       [38]Finance-Quote-Yahoo, obtain quote data from finance.yahoo.com

     * LRU 0.1.1. Uploaded by Adam Langley. [39]LRU, an LRU data

     * base 3.0. Uploaded by Ross Paterson. [40]base, the Prelude and its
       support libraries, and a large collection of useful libraries
       ranging from data structures to parsing combinators and debugging

     * regex-posix Uploaded by Duncan Coutts. [41]regex-posix,
       posix regex support.

  37. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/
  38. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Finance-Quote-Yahoo-0.4
  39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/LRU-0.1.1
  40. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/base-
  41. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-posix-

     * xhtml 3000.0.2.1. Uploaded by Bjorn Bringert. [42]xhtml,
       combinators for producing XHTML 1.0, including the Strict,
       Transitional and Frameset variants.

     * Win32 Uploaded by Esa Ilari Vuokko. [43]Win32, a binding
       to part of the Win32 library

     * unix Uploaded by Ross Paterson. [44]unix, POSIX

     * time Uploaded by Ross Paterson. [45]time, time handling.

     * template-haskell Uploaded by Ross Paterson.
       [46]template-haskell, support for manipulating Haskell syntax

  42. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhtml-3000.0.2.1
  43. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Win32-
  44. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-
  45. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/time-
  46. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/template-haskell-

     * stm Uploaded by Ross Paterson. [47]stm, software
       transational memory

     * regex-compat Uploaded by Ross Paterson.
       [48]regex-compat, backwards compatible regex support

     * regex-base Uploaded by Ross Paterson. [49]regex-base,
       regex support.

     * readline Uploaded by Ross Paterson. [50]readline, an
       interface to the GNU readline library

     * random Uploaded by Ross Paterson. [51]random, random
       number generation

  47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/stm-
  48. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-compat-
  49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regex-base-
  50. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/readline-
  51. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/random-

     * QuickCheck Uploaded by Ross Paterson. [52]QuickCheck,
       automatic testing of Haskell programs

     * process Uploaded by Ross Paterson. [53]process, jobs and

     * pretty Uploaded by Ross Paterson. [54]pretty, pretty
       printing library.

     * parsec Uploaded by Ross Paterson. [55]parsec, monadic
       parser combinators.

     * parallel Uploaded by Ross Paterson. [56]parallel, support
       for parallel programming

  52. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/QuickCheck-
  53. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/process-
  54. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pretty-
  55. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec-
  56. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parallel-

     * packedstring Uploaded by Ross Paterson. [57]packedstring,
       packed strings

     * OpenGL Uploaded by Ross Paterson. [58]OpenGL, binding for
       the OpenGL graphics system

     * OpenAL Uploaded by Ross Paterson. [59]OpenAL, binding to
       the OpenAL cross-platform 3D audio API.

     * old-time Uploaded by Ross Paterson. [60]old-time, time

     * alex 2.2. Uploaded by Simon Marlow. [61]alex is a tool for
       generating lexical analysers in Haskell

  57. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/packedstring-
  58. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenGL-
  59. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenAL-
  60. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/old-time-
  61. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/alex-2.2

     * Cabal Uploaded by Duncan Coutts. [62]Cabal is the
       framework for packaging Haskell software

     * HaXml 1.19.1. Uploaded by Malcolm Wallace. [63]HaXml, Utilities
       for manipulating XML documents

     * HDBC-odbc Uploaded by John Goerzen. [64]HDBC-odbc, ODBC
       driver for HDBC

     * HDBC-postgresql Uploaded by John Goerzen.
       [65]HDBC-postgresql is a PostgreSQL driver for HDBC

     * HDBC-sqlite3 Uploaded by John Goerzen. [66]HDBC-sqlite3
       is a Sqlite v3 driver for HDBC

  62. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Cabal-
  63. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HaXml-1.19.1
  64. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-odbc-
  65. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-postgresql-
  66. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-sqlite3-

     * HDBC 1.1.3. Uploaded by John Goerzen. [67]HDBC is a Haskell
       Database library

     * X11 1.3.0. Uploaded by Don Stewart. [68]X11 is a library of
       bindings to the X11 libraries and server

     * HsOpenSSL 0.3. Uploaded by Masatake Daimon. [69]HsOpenSSL, (Part
       of) OpenSSL binding for Haskell

     * Imlib 0.1. Uploaded by Cale Gibbard. [70]Imlib, Haskell binding
       for Imlib 2

     * Stream 0.2.2. Uploaded by Wouter Swierstra. [71]Stream, a library
       for manipulating infinite lists.

  67. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-1.1.3
  68. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.3.0
  69. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HsOpenSSL-0.3
  70. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Imlib-0.1
  71. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Stream-0.2.2

     * sat 1.0. Uploaded by AndriiZvorygin. [72]sat, CNF SATisfier

     * torrent 2007.10.27. Uploaded by David Himmelstrup. [73]torrent,
       BitTorrent file parser

     * bencode 0.2. Uploaded by David Himmelstrup. [74]bencode, Parser
       and printer for bencoded data.

     * SDL 0.5.1. Uploaded by David Himmelstrup. [75]SDL, binding to

     * NGrams 1.0. Uploaded by Justin Bailey. [76]ngrams, Simple
       application for calculating n-grams using Google

  72. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sat-1.0
  73. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/torrent-2007.10.27
  74. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bencode-0.2
  75. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SDL-0.5.1
  76. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/NGrams-1.0


   Bootstrapping Haskell. Andrew Copping [77]wondered how the first
   Haskell compilers were bootstrapped, leading to some interesting
   historical details.

   GHC 6.8 performance. Dan Piponi [78]asked about Haskell performance
   for low level array manipulation, with some excellent speedups
   produced by GHC 6.8

  77. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/31459
  78. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/31314


   Software Development Engineer at MSR. Don Syme announced that [79]the
   F Sharp team is hiring! We have two positions open right now. The
   first is a software development engineer specializing in Visual Studio
   and libraries. The second Post Calendar is a software development

  79. http://cs.hubfs.net/blogs/f_team/archive/2007/10/30/3900.aspx

   PhD position at Chalmers. John Hughes [80]announced that the
   Functional Programming group at Chalmers is seeking to recruit a PhD
   student to work on domain-specific languages embedded in Haskell for
   hardware design, and for programming graphics processors. PhD
   positions in Sweden are 'real jobs', paying a respectable salary for
   up to five years.

  80. http://article.gmane.org/gmane.comp.lang.haskell.general/15714

Blog noise

   [81]Haskell news from the [82]blogosphere.

     * [83]Scala for bioinformatics
     * [84]I like Haskell a lot
     * [85]Haskell history
     * [86]Continuation Passing Style for Monads
     * [87]Abuse: Is it ruby? Is it Haskell? It's both!
     * [88]Learning Haskell?
     * [89]For loops in Haskell
     * [90]A Simple Programming Puzzle Seen Through Three Differenent Lenses

  81. http://planet.haskell.org/
  82. http://haskell.org/haskellwiki/Blog_articles
  83. http://tiago.org/ps/2007/10/26/scala-for-bioinformatics/
  84. http://www.noulakaz.net/weblog/2007/04/20/i-like-haskell-a-lot/
  85. http://caos.di.uminho.pt/~ulisses/blog/2007/10/27/haskell-history/
  86. http://r6.ca/blog/20071028T162529Z.html
  87. http://meta-meta.blogspot.com/2007/05/abuse-is-it-ruby-is-it-haskell-its-both.html
  88. http://www.dynamicdrive.com/forums/showthread.php?t=26094
  89. http://osfameron.vox.com/library/post/for-loops-in-haskell.html?_c=feed-atom
  90. http://thraxil.org/users/anders/posts/2007/10/30/A-Simple-Programming-Puzzle-Seen-Through-Three-Different-Lenses/

     * [91]Scala Makes Me Think
     * [92]Haskell Substring Function
     * [93]Multicore Programming and Automatic Parallelisation
     * [94]Spinoza SOS in Haskell
     * [95]Why not just use Haskell?
     * [96]Chain delegates (in Haskell)
     * [97]Parser Combinators in C
     * [98]Will hybrid languages like D render functional languages like Haskell, OCaml and Common Lisp irrelevant?
     * [99]Category Theory for the Java Programmer
     * [100]Benchmarking ray tracing, Haskell vs. OCaml

  91. http://blog.snowtide.com/2007/10/31/scala-makes-me-think
  92. http://ironmonkey.blogspot.com/2007/10/haskell-substring-function_31.html
  93. http://hnr.dnsalias.net/wp/?p=31
  94. http://seta07.blogspot.com/2007/10/spinoza-sos-in-haskell.html
  95. http://www.hackinghat.com/index.php/c/66
  96. http://thoughtspam.spaces.live.com/Blog/cns!253515AE06513617!454.entry
  97. http://www.math.chalmers.se/~koen/ParserComboC/parser-combo-c.html
  98. http://pinderkent.blogsavy.com/archives/141
  99. http://reperiendi.wordpress.com/2007/11/03/category-theory-for-the-java-programmer/
 100. http://augustss.blogspot.com/2007/11/benchmarking-ray-tracing-haskell-vs.html

     * [101]Some lambda calculus examples
     * [102]Beautiful timetables
     * [103]References, Arrows and Categories
     * [104]Anamorphisms in Ruby
     * [105]Type metaprogramming in Haskell and C++
     * [106]A Small Combinatorial Library

 101. http://augustss.blogspot.com/2007/11/some-lambda-calculus-examples-syntax-in.html
 102. http://onthebalcony.wordpress.com/2007/11/11/beautiful-timetables/
 103. http://twan.home.fmf.nl/blog/haskell/References-Arrows-and-Categories.details
 104. http://weblog.raganwald.com/2007/11/really-useful-anamorphisms-in-ruby.html
 105. http://www.rubinsteyn.com/template_insanity.html
 106. http://sigfpe.blogspot.com/2007/11/small-combinatorial-library.html

Quotes of the Week

     * faxathisia: Omg! I spent 2 days writing this code and it's worked
       the first time I run it. Only possible with Haskell :D

     * anonymous: The thing is Haskell isn't suited for young people,
       whereas the OBJECT model of C++ is

     * sethg: I feel like I still dont understand comonads

     * fnord123: Haskell mainly helps with my C++ template coding when
       I'm doing money oriented programming

     * Tac-Tics: I get the feeling if all I ever use is the IO monad,
       someone here will shower me in holy monad fire and cleanse the
       evil from me.... leaving burn marks all over

     * Anton van Straaten: there's a new movement towards 'functional
       eating' which involves using a knife and fork (think ML) or
       chopsticks (Haskell ;) instead of a chainsaw. Its proponents claim
       that this approach is far superior, but chainsaw fans are

     * SamB: what happens in the monad... stays in the monad...

     * Brent Yorgey: Friends don't let friends write in COBOL.

     * Bulat Ziganshin: It's a whole new era in low-level GHC programming

About the Haskell Weekly News

   New editions are posted to [107]the Haskell mailing list as well as to
   [108]the Haskell Sequence and [109]Planet Haskell. [110]RSS is also
   available, and headlines appear on [111]haskell.org. Headlines are
   available as [112]PDF.

   To help create new editions of this newsletter, please see the
   [113]contributing information. Send stories to dons at galois.com. The
   darcs repository is available at darcs get

 107. http://www.haskell.org/mailman/listinfo/haskell
 108. http://sequence.complete.org/
 109. http://planet.haskell.org/
 110. http://sequence.complete.org/node/feed
 111. http://haskell.org/
 112. http://code.haskell.org/~dons/code/hwn/archives/20071111.pdf
 113. http://haskell.org/haskellwiki/HWN
 114. http://code.haskell.org/~dons/code/hwn/

More information about the Haskell mailing list