[Haskell] Haskell Weekly News: August 07, 2007

Donald Bruce Stewart dons at cse.unsw.edu.au
Tue Aug 7 06:02:29 EDT 2007

Haskell Weekly News
Issue 64 - August 07, 2007

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

   This issue marks the second anniversary of the Haskell (not quite)
   Weekly News. Thanks to the Haskell community for support, content and
   for reading over the last two years!

   1. http://haskell.org/


   OSCON Haskell Tutorial. Simon Peyton-Jones Appeared at the O'Reilly
   Open Source Convention (OSCON) in Portland, delivering a range of
   talks, including [2]A Taste of Haskell, [3]A Keynote on Functional
   Languages, [4]Nested Data Parallelism and [5]Transactional Memory for
   Concurrent Programming. Videos are available for most of these talks:
   [6]A Taste of Haskell: Part 1, [7]A Taste of Haskell: Part 2,
   [8]slides for A Taste of Haskell, [9]Transactional Memory for
   Concurrent Programming and [10]the NDP talk at the London Hugs

   2. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14016
   3. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14773
   4. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14014
   5. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14017
   6. http://blip.tv/file/324976
   7. http://www.blip.tv/file/325646/
   8. http://conferences.oreillynet.com/presentations/os2007/os_peytonjones.pdf
   9. http://www.blip.tv/file/317758/
  10. http://video.google.co.uk/videoplay?docid=370317485066035666

   hpodder 1.0. John Goerzen [11]announced version 1.0.0 of hpodder, the
   command-line podcatcher (podcast downloader) that just happens to be
   written in everyone's favorite language. You can get it [12]here.
   Version 1.0.0 sports a new mechanism for detecting and disabling feeds
   or episodes that repeatedly result in errors, updates to the Sqlite
   database schema, and several bugfixes.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/15452
  12. http://software.complete.org/hpodder

   encoding-0.1. Henning Günther [13]announced the release of 'encoding',
   a Haskell library to cope with many character encodings found on
   modern computers. At the moment it supports (much more is planned):
   ASCII, UTF-8, -16, -32, ISO 8859-* (alias latin-*), CP125* (windows
   codepages), KOI8-R, Bootstring (base for punycode)

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

   Dimensional 0.6: Statically checked physical dimensions. Björn
   Buckwalter [14]announced a library providing data types for performing
   arithmetic with physical quantities and units. Information about the
   physical dimensions of the quantities/units is embedded in their types
   and the validity of operations is verified by the type checker at
   compile time. The boxing and unboxing of numerical values as
   quantities is done by multiplication and division with units.

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


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

     * hgal-1.0.1. Jean Philippe Bernardy. [16]Computation automorphism
       group and canonical labeling of a graph

     * hpodder-1.0.3. John Goerzen. [17]Podcast Aggregator (downloader)

     * dlist-0.3.1. Don Stewart. [18]Differences lists: a list-like type
       supporting O(1) append

     * pointfree-1.0. Felix Martini. [19]Stand-alone command-line version
       of the point-less plugin for lambdabot

     * encoding-0.1. Henning Guenther. [20]A library for various
       character encodings

     * AppleScript-0.1.3. Wouter Swierstra. [21]Call AppleScript from Haskell

     * SDL-ttf-0.4.0. David Himmelstrup. [22]Binding to libSDL_ttf

     * Finance-Quote-Yahoo-0.2. Brad Clawsie. [23]Obtain quote data from

     * xmobar-0.7. Andrea Rossato. [24]A Minimalistic Text Based Status Bar

  15. http://hackage.haskell.org/
  16. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hgal-1.0.1
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hpodder-1.0.3
  18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dlist-0.3.1
  19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pointfree-1.0
  20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/encoding-0.1
  21. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AppleScript-0.1.3
  22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SDL-ttf-0.4.0
  23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Finance-Quote-Yahoo-0.2
  24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar-0.7

Conference roundup

   OSCON. Simon Peyton-Jones gave a series of popular talks about Haskell
   and functional programming at OSCON, in Portland. Below are collected
   just some of the posts about Haskell at OSCON.

     * [25]A brief Haskell-at-OSCON trip report
     * [26]Wow! OSCON video viewing statistics
     * [27]OSCon Wednesday Part 2
     * [28]A Taste of Haskell, A Taste of C
     * [29]OSCON Day 1
     * [30]A Taste of Haskell
     * [31]OSCON 2007
     * [32]Threading Building Blocks and C++
     * [33]OSCON: Wednesday Morning
     * [34]OSCON: Wednesday Afternoon
     * [35]OSCON 2007 (July 25)
     * [36]Nested Data Parallelism in Haskell
     * [37]OSCON 2007: Wednesday Morning Keynotes
     * [38]A Taste of Haskell

  25. http://www.realworldhaskell.org/blog/2007/08/03/a-brief-haskell-at-oscon-trip-report/
  26. http://www.realworldhaskell.org/blog/2007/08/07/wow-oscon-video-viewing-statistics/
  27. http://changelog.complete.org/posts/632-OSCon-Wednesday-Part-2.html
  28. http://www.oreillynet.com/onlamp/blog/2007/07/a_taste_of_haskell_a_taste_of.html
  29. http://brycebaril.vox.com/library/post/oscon-2007-day-1.html
  30. http://jaortega.wordpress.com/2007/08/04/a-taste-of-haskell/
  31. http://www.sauria.com/blog/2007/08/03/oscon-2007/
  32. http://softwareblogs.intel.com/2007/07/26/threading-building-blocks-and-c/
  33. http://znark.com/blog/2007/07/25/oscon-wednesday-morning
  34. http://znark.com/blog/2007/07/25/oscon-wednesday-afternoon
  35. http://panela.blog-city.com/oscon_2007_july_25.htm
  36. http://ihack.us/2007/07/25/nested-data-parallelism-in-haskell/
  37. http://www.canspice.org/2007/07/25/oscon-2007-wednesday-morning-keynotes/
  38. http://butlerpress.com/2007/07/24/a-taste-of-haskell/

Blog noise

   [39]Haskell news from the [40]blogosphere.

     * [41]Ord, Countable Ordinals, and an Idea of sigfpe
     * [42]Word numbers, Part 1: Billion approaches
     * [43]Implementing SmallTalk in Haskell
     * [44]From walking to zipping, Part 1: Moving right
     * [45]From walking to zipping, Part 2: Down and up
     * [46]Irrefutable patterns for the ignorant
     * [47]Making Haskell nicer for game programming
     * [48]Nested Data Parallelism in Haskell
     * [49]Compiling Haskell to Erlang
     * [50]Peano's Axioms IV: Advanced Functions and Integers
     * [51]37 Reasons to Love Haskell
     * [52]On the value of strong static typing
     * [53]Parsec Parser Testing with QuickCheck
     * [54]Fallacies in the Great Dynamic vs Static Debate
     * [55]Implementing a dictionary using first class functions
     * [56]Strong specifications in Coq: the type says everything
     * [57]Run length encoding in Haskell
     * [58]Run length encoding and arrows
     * [59]Playing with Arrows
     * [60]Monads! (and Why Monad Tutorials Are All Awful)
     * [61]Haskell: Explaining Arrows through XML Transformations
     * [62]Monads as computation
     * [63]Closed Categories
     * [64]Good Haskell Style
     * [65]Monads are hard to teach
     * [66]Parsec
     * [67]First attempt at using GTK with Haskell
     * [68]Introduction to Haskell, Part 3: Monads
     * [69]Programming in Haskell
     * [70]Haskell Fun
     * [71]Algebraic Data Types again
     * [72]DFAs, Categories, and Typecheckers
     * [73]Haskell State Accessors (second attempt: Composability)
     * [74]Developing Programs and Proofs Spontaneously using GADT
     * [75]Encoding Inductive and Coinductive Types in Polymorphic Lambda Calculus
     * [76]Polymorphic Types in Haskell without Constructors?
     * [77]Subtraction not Definable in Simply Typed Lambda Calculus
     * [78]Imperative programming is a special type of functional programming
     * [79]Binding Haskell to C structs

  39. http://planet.haskell.org/
  40. http://haskell.org/haskellwiki/Blog_articles
  41. http://blog.jbapple.com/2007/07/ord-countable-ordinals-and-idea-of.html
  42. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WordNumbers1/
  43. http://lstephen.wordpress.com/2007/07/23/completing-the-spike/
  44. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WalkZip1/
  45. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WalkZip2/
  46. http://therning.org/magnus/archives/311
  47. http://luqui.org/blog/archives/2007/07/26/making-haskell-nicer-for-game-programming/
  48. http://ihack.us/2007/07/25/nested-data-parallelism-in-haskell/
  49. http://blog.tornkvist.org/?id=1185571582964040
  50. http://disparatemathematician.blogspot.com/2007/07/peanos-axioms-iv-advanced-functions-and.html
  51. http://cdsmith.wordpress.com/2007/07/29/37-reasons-to-love-haskell-playing-off-the-ruby-article/
  52. http://www.serpentine.com/blog/2007/07/29/on-the-value-of-strong-static-typing/
  53. http://lstephen.wordpress.com/2007/07/29/parsec-parser-testing-with-quickcheck/
  54. http://neilbartlett.name/blog/2007/07/30/fallacies-in-the-great-dynamic-vs-static-debate/
  55. http://lukeplant.me.uk/blog.php?id=1107301671
  56. http://www.rubrication.net/2007/04/24/strong-specifications/
  57. http://cgi.cse.unsw.edu.au/~dons/blog/2007/07/31#rle
  58. http://community.livejournal.com/evan_tech/229752.html
  59. http://unenterprise.blogspot.com/2007/08/playing-with-arrows.html
  60. http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/
  61. http://neilbartlett.name/blog/2007/08/01/haskell-explaining-arrows-through-xml-transformationa/
  62. http://www.haskell.org/haskellwiki/Monads_as_computation
  63. http://unapologetic.wordpress.com/2007/08/01/closed-categories/
  64. http://urchin.earth.li/~ian/style/haskell.html
  65. http://davblog48.blogspot.com/2007/08/monads-are-hard-to-teach.html
  66. http://davblog48.blogspot.com/2007/05/parsec.html
  67. http://davblog48.blogspot.com/2007/05/first-attempt-at-using-gtk-with-haskell.html
  68. http://www.onlamp.com/pub/a/onlamp/2007/08/02/introduction-to-haskell-pure-functions.html
  69. http://www.cs.chalmers.se/Cs/Grundutb/Kurser/d1pt/d1pta/external.html
  70. http://changelog.complete.org/posts/640-guid.html
  71. http://blog.tmorris.net/algebraic-data-types-again/
  72. http://disparatemathematician.blogspot.com/2007/08/dfas-categories-and-typecheckers.html
  73. http://luqui.org/blog/archives/2007/08/05/haskell-state-accessors-second-attempt-composability/
  74. http://www.iis.sinica.edu.tw/~scm/?p=32
  75. http://www.iis.sinica.edu.tw/~scm/?p=31
  76. http://www.iis.sinica.edu.tw/~scm/?p=28
  77. http://www.iis.sinica.edu.tw/~scm/?p=27
  78. http://blog.tmorris.net/imperative-programming-is-a-special-type-of-functional-programming/
  79. http://therning.org/magnus/archives/315

Quotes of the Week

     * schluehk: ... Haskell taking over the world and troubled parents
       ask why their kids have turned into math hippies talking about
       nothing but love and abstract algebra...

     * JohnGoerzen: Haskell manipulates functions with the same ease that
       Perl manipulates strings

     * (anonymous Russian blogger): Glory to Simons! Glory to Swedish professors!

     * Laurent Sansonetti: I appreciated so much the Haskell talks that I
       am now learning the language.

     * dcoutts: Apparently that's only 200x faster than the faster of two
       common python serialisation libs, so we've got some way to go yet.

     * slava: [on Isabelle for web frameworks] 

     * gimboland: At present i'd say 'tinkering with a nuclear bomb' is
       approximately where i am with monads...

     * jcreigh: Could not find instance Ord for type ProgrammingLanguage

     * kowey: i suspect we're one of the rare wikibooks to use higher
       order templates

     * monochrom: 'm a -> (a -> m b) -> m b' is much more to the point
       than 'mumble computation mumble computation mumble computation mumble'

     * roconnor: damn it, Haskell pseudo code is indistinguishable from
       actual code

     * slava: Because top enterprise industry analysts recommend Because
       top enterprise industry analysts recommend that managers need to
       focus on Agile methodologies, SOA, B2B and Yoneda's lemma in
       today's rich internet application-driven environment. Don't get
       left behind by the AJAX craze by missing out on call center
       outsourcing and Yoneda's lemma!

Code Watch

   Notable new features and bug fixes to the Haskell compilers.

   Fri Jul 27 03:41:57 PDT 2007. Simon Marlow. Pointer Tagging. 
   This patch implements pointer tagging as per our ICFP'07 paper 'Faster
   laziness using dynamic pointer tagging'. It improves performance by
   10-15% for most workloads, including GHC itself. The original patches
   were by Alexey Rodriguez Yakushev, with additions and improvements by
   me. I've re-recorded the development as a single patch. The basic idea
   is this: we use the low 2 bits of a pointer to a heap object (3 bits
   on a 64-bit architecture) to encode some information about the object
   pointed to. For a constructor, we encode the 'tag' of the constructor
   (e.g. True vs. False), for a function closure its arity. This enables
   some decisions to be made without dereferencing the pointer, which
   speeds up some common operations. In particular it enables us to avoid
   costly indirect jumps in many cases. More information [80]in the

  80. http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/HaskellExecution/PointerTagging

About the Haskell Weekly News

   Each week, new editions are posted to [81]the Haskell mailing list as
   well as to [82]the Haskell Sequence and [83]Planet Haskell. [84]RSS is
   also available, and headlines appear on [85]haskell.org. Headlines are
   available as [86]PDF.

   To help create new editions of this newsletter, please see the
   [87]contributing information. Send stories to dons at cse.unsw.edu.au.
   The darcs repository is available at darcs get

  81. http://www.haskell.org/mailman/listinfo/haskell
  82. http://sequence.complete.org/
  83. http://planet.haskell.org/
  84. http://sequence.complete.org/node/feed
  85. http://haskell.org/
  86. http://www.cse.unsw.edu.au/~dons/code/hwn/archives/20070807.pdf
  87. http://haskell.org/haskellwiki/HWN
  88. http://www.cse.unsw.edu.au/~dons/code/hwn

More information about the Haskell mailing list