[Haskell] Haskell Weekly News: Issue 120 - June 6, 2009

Brent Yorgey byorgey at seas.upenn.edu
Sat Jun 6 14:51:35 EDT 2009

Haskell Weekly News
Issue 120 - June 06, 2009

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

   Sorry for the massive HWN, I missed last week so you're getting two for
   the price of one! Registration for [2]Hac phi is now open, be sure to
   register soon (register by June 15 to get a special hotel rate).


   Reminder: Haskell Implementers' Workshop CFT deadline in 2 weeks. Simon
   Marlow [3]reminded everyone to consider submitting a talk proposal for
   the Haskell Implementers' Workshop, to be held in conjunction with ICFP
   in Edinburgh, Scotland on 5 September. The deadline for submissions is
   a couple of weeks away (15 June); all that is needed is an abstract.

   storable-record. Henning Thielemann [4]announced [5]storable-record, a
   small package for simplified declaration of Storable instances for
   records. It may be used as an alternative to the [6]c2hs preprocessor.
   It was made possible by advanced applicative technology, a cutting edge
   LCM monoid and an incredible constructor power tower.

   Haskell Communities and Activities Report (16th ed., May 2009). Janis
   Voigtlaender [7]announced the availability of the [8]16th Haskell
   Communities and Activities Report.

   hledger 0.5 released. Simon Michael [9]announced the release of version
   0.5 of [10]hledger, a (mostly) text-mode double-entry accounting tool
   that generates precise activity and balance reports from a plain text
   journal file.

   New repository and trac for haskell-src-exts. Niklas Broberg
   [11]announced some new infrastructure for the haskell-src-exts package,
   set up in preparation for his GSoC project. with the HSP packages, it's
   now old enough to be allowed to [12]live on its own. There is also a
   [13]bug tracker. Please help by reporting any bugs you come across, or
   by requesting new and cool features.

   bsd-sysctl 1.0.3. Maxime Henrion [14]announced the release of
   [15]bsd-sysctl 1.0.3, a package that provides a System.BSD.Sysctl
   module allowing access to the C sysctl(3) API. It should fully work on
   FreeBSD, NetBSD and Mac OS X platforms.

   multirec-binary. Sebastiaan Visser [16]announced the release of
   [17]multirec-binary, which allows generic derivation of Data.Binary
   instances using the [18]MultiRec library.

   notice for package authors. Duncan Coutts [19]announced that Hackage
   uploads will soon require an upper bound on the version of the base
   package and reject packages that omit it. This will hopefully result in
   less breakage the next time a new version of the base package is

   (Pre-) Announce: Data.GDS 0.1.0. Uwe Hollerbach [20](pre-) announced
   Data.GDS, a small module to write and (eventually) read GDS files, a
   classic format of the semiconductor industry. The module can currently
   generate GDS files with a fairly low-level interface; planned future
   versions (which will be uploaded to Hackage) will have a higher-level
   interface and be able to parse GDS files as well.

   new version of uu-parsinglib. S. Doaitse Swierstra [21]announced that a
   new version of the [22]uu-parsinglib library has been uploaded to
   hackage. It is now based on Control.Applicative where possible. Be
   warned that functions like some and many will be redefined in the

   Hac phi: Haskell hackathon in Philadelphia, July 24-26. Brent Yorgey
   [23]announced Hac phi, a Haskell hackathon/get-together to be held July
   24-26 at the University of Pennsylvania in Philadelphia. The hackathon
   will officially kick off at 2:30 Friday afternoon, and go until 5pm on
   Sunday (with breaks for sleep, of course). Everyone is welcome---you do
   not have to be a Haskell guru to attend! Helping hack on someone else's
   project could be a great way to increase your Haskell-fu. If you plan
   on coming, please [24]register. There is a block of hotel rooms
   available at a special rate only until June 15, so register early! More
   details can be found on the [25]Hac phi wiki.

   Job for someone: make a VM image for GHC development. Simon Marlow
   [26]suggested a useful project for someone looking for something to do:
   create a VM image of a Linux system with a complete GHC development
   environment set up and ready to go.

   My attempt at Haskell USB. Mauricio [27]announced some [28]Haskell
   bindings to libusb, and gave another plug for his [29]bindings-common
   package, which makes it easier to generate Haskell bindings to
   low-level libraries.

   second alpha release of OSX haskell platform installer. Gregory Collins
   [30]announced a [31]second candidate release for the OSX Haskell
   Platform installer. Please try it out!

   Release Schedule for 2009.2.0.2. Don Stewart [32]announced the
   [33]release schedule for the next minor release of the 2009.2.0 branch
   of the Haskell Platform. The freeze for package changes will be
   Wednesday 1 July, and the release is scheduled for Monday 13th July.

   hscamwire, for IIDC1394 cameras. Frederick Ross [34]announced the
   release of [35]hscamwire 0.1, which provides a nice Haskellized layer
   over Camwire, a library to connect to IIDC1394 cameras (most scientific
   and industrial Firewire cameras) on Linux.

   Safe and generic printf with C-like format string. oleg [36]announced
   some code to implement a type-safe polyvariadic version of printf,
   which is also integrated with Show so that any showable type can be

   A library for serial ports. Frederick Ross [37]announced the release of
   [38]serial-0.1, a library for line-oriented interaction with serial
   ports on POSIX compatible systems.

   HaL4: Haskell-Meeting in Germany, 12th June 2009. Janis Voigtlaender
   [39]reminded everyone of [40]Hal4, a German-language Haskell gathering
   to be held in Halle/Saale on June 12. There are already close to 50
   registered participants, so expect a very lively meeting! Late
   registration still possible.

   wp-archivebot 0.1 - archive Wikipedia's external links in WebCite.
   Gwern Branwen [41]announced [42]wp-archivebot, a relatively simple
   little script which follows all the links in a RSS feed, combs the
   destination for http:// links, and submits them to [43]WebCite.

   memscript- Ki Yung Ahn [44]announced [45]memscript, a command
   line utility for memorizing scriptures or any other text.

   HSH 2.0.0. John Goerzen [46]announced the release of [47]version 2.0.0
   of HSH, the Haskell shell scripting library. This version features a
   complete rewrite of the core using System.Process, a drastic reduction
   in code size and complexity, cross-platform support, and a simpler and
   more flexible API.

   atom-0.0.5. Tom Hawkins [48]announced version 0.5 of the [49]atom
   library, a DSL for embedded hard realtime applications. This version
   includes a few bug fixes and doc improvements.

   heap-1.0.0. Stephan Friedrichs [50]announced a rewrite of the heap
   package, [51]heap-1.0.0. It is not 100% compatible with version 0.6.0,
   but provides major improvements, including a better mechanism for
   instantiating min-, max-, min-prio- and max-prio-heaps, and faster
   {from,to}{Asc,Desc}List conversions.

   The Haskell Platform 2009.2.0.1. Don Stewart [52]announced the second
   release (2009.2.0.1) of the [53]Haskell Platform, a single, standard
   Haskell distribution for everyone. The specification, along with
   installers (including Windows and Unix installers for a full Haskell
   environment) are available.

   Anglohaskell 2009. Philippa Cowderoy [54]announced [55]Anglohaskell
   2009, to be held at MSR Cambridge on the 7th and 8th of August.

   code reviewers wanted for hashed-storage (darcs). Eric Kow
   [56]solicited anyone with a few spare hours this summer willing to help
   the Darcs project as a code reviewer for the standalone hashed-storage
   module, which will be used by Darcs in the future. No Darcs experience
   is needed!

Google Summer of Code

   Progress updates from participants in the 2008 [57]Google Summer of

   Haddock improvements. Isaac Dupree has begun looking at the Haddock
   code, and has a [58]question about which of two options he should

   EclipseFP. Thomas Ten Cate has posted an [59]explanation of how the
   Scion client/server model works.

   Space profiling. Gergely Patai has [60]uploaded a preliminary version
   of the [61]hp2any core library which handles heap profiles both during
   and after execution. He has also [62]posted some pretty graphs
   generated by a simple utility built on top of the core library.

   haskell-src-exts. Niklas Broberg has begun work by making a [63]list of
   all language extensions and the ways in which they affect lexing and
   parsing, since haskell-src-exts will need to be parameterized over
   these extensions.

   Fast Darcs. Petr Rockai has posted two detailed [64]progress
   [65]reports already, with many changes to both the standalone
   [66]hashed-storage library and a [67]fork of darcs which uses it.


   Error message reform (was: Strange type error with associated type
   synonyms). Max Rabkin began an interesting [68]discussion about error
   messages. Do you have an intuitive sense of which is the 'expected' and
   which the 'inferred' type?

   time library dependencies. Ashley Yakeley [69]asked what dependencies
   are acceptable for the time library, leading to a discussion of what
   dependencies are acceptable for base packages.

   Bool as type class to serve EDSLs. Sebastiaan Visser started a
   [70]discussion on the possibility of a type class for representing
   Boolean values, much like the current Num class for numeric values.


   10 jobs in declarative programming. Oege de Moor [71]announced the
   availability of positions with Semmle and LogicBlox for ten declarative
   programming consultants, who will work with clients to write custom
   queries in Datalog, and to create user interfaces in a declarative
   framework. Semmle and LogicBlox are creating a platform for declarative
   programming in Datalog, a pure logic programming language. Semmle is
   based in Oxford, headed by Oege de Moor; LogicBlox is based in Atlanta,
   headed by Molham Aref. See the announcement for more information and
   how to apply.

Blog noise

   [72]Haskell news from the [73]blogosphere. Blog posts from people new
   to the Haskell community are marked with >>>, be sure to welcome them!
     * David Amos: [74]Welcome to Haskell for Maths. David's Haskell
       library for mathematics exploration is under development again!
     * Joachim Breitner: [75]Third place in AI programming contest.
     * Bryan O'Sullivan: [76]Dealing with encoding errors in Data.Text.
     * Remco Niemeijer: [77]Programming Praxis - Ternary Search Tries.
     * beelsebob: [78]Collecting Non-Memory Resources.
     * Luke Palmer: [79]It is never safe to cheat. Ceiling cat is watching
     * Alex McLean: [80]More hackery. More cool livecoding with Haskell.
     * Thomas ten Cate: [81]Client/server communication.
     * Gergely Patai: [82]The first graphs.
     * Alson Kemp: [83]Turbinado V0.6.5.
     * Don Stewart (dons): [84]The Haskell Platform 2009.2.0.1. The first
       minor update release of the Haskell Platform is here.
     * Alson Kemp: [85]Turbinado V0.6.5.
     * Michael Snoyman: [86]Functors and Monads (containers).
     * Well-Typed.Com: [87]Come talk at the Haskell Implementers'
     * GSoC Fast Darcs: [88]soc progress 2.
     * Shin-Cheng Mu: [89]On a Basic Property for the Longest Prefix
     * >>> Ben Hutchison: [90]OO/Imperative programmers: 'Study Functional
       Programming or Be Ignorant'.
     * Michael Snoyman: [91]Run a MonadCGI as a CGI application!.
     * Michael Snoyman: [92]Wordify: RESTful Haskell web apps.
     * Marco Tulio Gontijo e Silva: [93]xmlGetWidget without castTo*.
     * >>> slawekk: [94]Probability monad.
     * Brandon Simmons: [95]Huffman Coding.
     * Niklas Broberg: [96]Parametrising haskell-src-exts on extensions. A
       list of language extensions and how they affect parsing.
     * Manuel M T Chakravarty: [97]Instant Generics now has a website!.
     * GHC / OpenSPARC Project: [98]The CAS experiment.
     * Brent Yorgey: [99]Hac phi!. Registration is now open.
     * Jeff Heard: [100]Buster 2.2 - Application Orchestration redux.
       Example code showing off Buster.
     * Bryan O'Sullivan: [101]I put a pidgit in your widget so you can
       fidget while you calculate pi. GHC and the language shootout.
     * Niklas Broberg: [102]Haskell Platform, I'm in love.
     * Bjorn Buckwalter: [103]Benchmarking Amazon EC2 with GHC.
     * Bjorn Buckwalter: [104]Blogging with Pandoc, literate Haskell, and
       a bug.
     * >>> Chris Moos: [105]Haskell AIM Client - a cool proof of concept.
     * Marco Tulio Gontijo e Silva: [106]Generating code with Haskell-src
       and TH.

Quotes of the Week

     * pumpkin: we should throw it [CReal] in with Foreign.C.Types to
       confuse people
     * MyCatVerbs: The *real* best way to optimize a program is to tell
       dons that it's been added to the Shootout.
     * SimonFrankau: The points-free approach, while elegant, can make
       code unreadable, especially if it is written by quantitative
       analysts moonlighting as functional programmers.
     * ValarQ: l33t_h4x0r: could you help me port GHC to the AVR
       architecture? <-- l33t_h4x0r has left #haskell
     * gwern: drat. what *do* all you people talk about? only one bacon
       and one zombie quote
     * quicksilver: well if you can get proggit to help with your
       interview, then perhaps you can get proggit to help with the job
       when you get it. So it's not cheating, it's just an indication of
       one of your skill sets.
     * shapr: I haven't tried F#, everytime I get the urge to do something
       fun with .NET I have SharePoint flashbacks and buy more hardware
     * gwern: bleh. haskell is messing me up. I wondered what operator =)
       is, before I realized it was a syntax error, before I realized it
       was an emoticon

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.

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


   1. http://haskell.org/
   2. http://haskell.org/haskellwiki/Hac_%CF%86
   3. http://article.gmane.org/gmane.comp.lang.haskell.general/17225
   4. http://article.gmane.org/gmane.comp.lang.haskell.general/17214
   5. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/storable-record
   6. http://www.cse.unsw.edu.au/~chak/haskell/c2hs/
   7. http://article.gmane.org/gmane.comp.lang.haskell.general/17208
   8. http://www.haskell.org/communities/
   9. http://www.haskell.org//pipermail/haskell-cafe/2009-May/061841.html
  10. http://hledger.org/
  11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/58955
  12. http://code.haskell.org/haskell-src-exts
  13. http://trac.haskell.org/haskell-src-exts
  14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/58928
  15. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bsd-sysctl
  16. http://www.haskell.org//pipermail/haskell-cafe/2009-May/061887.html
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec-binary
  18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec
  19. http://www.haskell.org//pipermail/haskell-cafe/2009-June/062297.html
  20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59268
  21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59256
  22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uu%2Dparsinglib
  23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59156
  24. http://haskell.org/haskellwiki/Hac_%CF%86/Register
  25. http://haskell.org/haskellwiki/Hac_%CF%86
  26. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/17046
  27. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11243
  28. http://hackage.haskell.org/packages/archive/bindings-libusb/0.0.3/doc/html/Bindings-Libusb.html
  29. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bindings-common-0.1.3
  30. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11224
  31. http://gregorycollins.net/static/haskell/haskell-platform-2009.2.0.1-alpha2.pkg
  32. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11217
  33. http://trac.haskell.org/haskell-platform/wiki/ReleaseTimetable
  34. http://article.gmane.org/gmane.comp.lang.haskell.general/17253
  35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hscamwire
  36. http://article.gmane.org/gmane.comp.lang.haskell.general/17251
  37. http://article.gmane.org/gmane.comp.lang.haskell.general/17247
  38. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/serial
  39. http://article.gmane.org/gmane.comp.lang.haskell.general/17238
  40. http://iba-cg.de/hal4.html
  41. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59435
  42. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wp%2Darchivebot
  43. https://secure.wikimedia.org/wikipedia/en/wiki/WebCite
  44. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59415
  45. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/memscript
  46. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59405
  47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HSH
  48. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59400
  49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/atom
  50. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59363
  51. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/heap
  52. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59338
  53. http://hackage.haskell.org/platform/
  54. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59337
  55. http://www.haskell.org/haskellwiki/AngloHaskell/2009
  56. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59327
  57. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008
  58. http://haddock2009.wordpress.com/2009/05/26/another-boring-update-question/
  59. http://eclipsefp.wordpress.com/2009/06/03/clientserver-communication/
  60. http://just-bottom.blogspot.com/2009/05/read-your-profiles.html
  61. http://code.google.com/p/hp2any/
  62. http://just-bottom.blogspot.com/2009/06/first-graphs.html
  63. http://nibrofun.blogspot.com/2009/05/parametrising-haskell-src-exts-on.html
  64. http://web.mornfall.net/blog/soc_progress_1.html
  65. http://web.mornfall.net/blog/soc_progress_2.html
  66. http://repos.mornfall.net/hashed-storage
  67. http://repos.mornfall.net/darcs/darcs-hs
  68. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/59073
  69. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11163
  70. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/59021
  71. http://article.gmane.org/gmane.comp.lang.haskell.general/17207
  72. http://planet.haskell.org/
  73. http://haskell.org/haskellwiki/Blog_articles
  74. http://haskellformaths.blogspot.com/2009/06/welcome-to-haskell-for-maths.html
  75. https://www.joachim-breitner.de/blog/archives/328-Third-place-in-AI-programming-contest.html
  76. http://www.serpentine.com/blog/2009/06/05/dealing-with-encoding-errors-in-datatext/
  77. http://bonsaicode.wordpress.com/2009/06/05/programming-praxis-ternary-search-tries/
  78. http://noordering.wordpress.com/2009/06/05/collecting-non-memory-resources/
  79. http://lukepalmer.wordpress.com/2009/06/04/it-is-never-safe-to-cheat/
  80. http://yaxu.org/more-hackery/
  81. http://eclipsefp.wordpress.com/2009/06/03/clientserver-communication/
  82. http://just-bottom.blogspot.com/2009/06/first-graphs.html
  83. http://www.alsonkemp.com/haskell/turbinado-v065/
  84. http://donsbot.wordpress.com/2009/06/02/the-haskell-platform-2009-2-0-1/
  85. http://www.alsonkemp.com/haskell/turbinado-v065/
  86. http://blog.snoyman.com/2009/06/02/functors-and-monads-containers/
  87. http://blog.well-typed.com/2009/06/come-talk-at-the-haskell-implementers-workshop/
  88. http://web.mornfall.net/blog/soc_progress_2.html
  89. http://www.iis.sinica.edu.tw/~scm/2009/on-a-basic-property-for-the-longest-prefix-problem/
  90. http://benhutchison.wordpress.com/2009/06/02/study-functional-programming-or-be-ignorant/
  91. http://blog.snoyman.com/2009/05/20/run-a-monadcgi-as-a-cgi-application/
  92. http://blog.snoyman.com/2009/05/20/wordify-restful-haskell-web-apps/
  93. http://marcot.iaaeee.org/diario/?p=137
  94. http://slawekk.wordpress.com/2009/05/31/probability-monad/
  95. http://coder.bsimmons.name/blog/2009/05/huffman-coding/
  96. http://nibrofun.blogspot.com/2009/05/parametrising-haskell-src-exts-on.html
  97. http://justtesting.org/post/115191589
  98. http://ghcsparc.blogspot.com/2009/05/cas-experiment.html
  99. http://byorgey.wordpress.com/2009/05/28/hac-%cf%86/
 100. http://vis.renci.org/jeff/2009/05/28/buster-22-application-orchestration-redux/
 101. http://www.serpentine.com/blog/2009/05/27/i-put-a-pidgit-in-your-widget-so-you-can-fidget-while-you-calculate-pi/
 102. http://nibrofun.blogspot.com/2009/05/haskell-platform-im-in-love.html
 103. http://flygdynamikern.blogspot.com/2009/05/benchmarking-amazon-ec2-with-ghc.html
 104. http://flygdynamikern.blogspot.com/2009/03/blogging-with-pandoc-literate-haskell.html
 105. http://chrismoos.com/2009/05/26/haskell-aim-client-a-cool-proof-of-concept/
 106. http://marcot.iaaeee.org/diario/?p=130
 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://haskell.org/haskellwiki/HWN
 113. http://code.haskell.org/~byorgey/code/hwn/

More information about the Haskell mailing list