[Haskell-cafe] Haskell Weekly News: Issue 123 - June 29, 2009

Brent Yorgey byorgey at seas.upenn.edu
Mon Jun 29 16:06:07 EDT 2009

Haskell Weekly News
Issue 123 - June 29, 2009

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

   A bit late this week since over the weekend I was trying to get some
   unruly satellites to behave (with moderate success). Anyway, some fun
   stuff this week: Haskell on the iPhone; new libraries for 3D animation,
   web development, session types; new releases of haskell-src-exts and
   darcs; and more. Also, if it seems that there haven't been many quotes
   lately, it's because people haven't been @remembering very many in
   #haskell. I cannot telepathically sense (via the Haskell-force,
   hereafter known as the "Horce") when someone says something funny.


   Haskell Symposium call for participation. Stephanie Weirich
   [2]announced that [3]registration is now open for the [4]ACM SIGPLAN
   Haskell Symposium 2009, to be held on 3 September 2009 in Edinburgh,
   Scotland (co-located with ICFP). The purpose of the Haskell Symposium
   is to discuss experiences with Haskell and future developments for the
   language. The scope of the symposium includes all aspects of the
   design, semantics, theory, application, implementation, and teaching of

   jhc 0.6.1. John Meacham [5]announced the release of [6]jhc 0.6.1,
   featuring a a much simplified cross-compilation mechanism.

   X Haskell Bindings 0.3. Antoine Latter [7]announced the 0.3.* series
   release of the [8]X Haskell Bindings. This release, like the prior
   0.2.* series focuses on making the API prettier.

   happstack-0.3.2. Matthew Elder [9]announced the release of
   [10]happstack-0.3.2, with many changes, updates, and bug fixes.

   sendfile-0.1. Matthew Elder [11]announced the release of [12]sendfile,
   a library which exposes zero-copy sendfile functionality in a portable
   way. Right now it natively supports linux 2.6+ (maybe older too) and
   windows 2000+; on other platforms it will fall back seamlessly to a
   portable haskell implementation.

   Reusable Corecursive Queues via Continuations. Leon Smith [13]requested
   feedback on a draft of an upcoming article in Monad.Reader issue 14,
   "Lloyd Allison's Corecursive Queues: Why Continuations Matter",
   describing the implementation of the [14]control-monad-queue package.

   Haskell on the iPhone. Ryan Trinkle [15]announced that his company,
   iPwn Studios Inc., is currently preparing to release an open source
   patch to GHC that allows it to output binaries for iPhone OS. The patch
   will be released under a BSD license as soon as possible and hopefully
   integrated into the GHC main-line in the near future.

   Program to set the GNOME desktop background picture randomly. Colin
   Paul Adams [16]announced [17]gnome-desktop, a library which
   periodically picks a random picture from $HOME/Pictures, and sets it as
   the GNOME desktop background.

   loli: a minimal web dev DSL. Jinjing Wang [18]announced the release of
   [19]loli, a web development DSL built on top of [20]hack. It allows you
   to easily define routes, build your custom template backends through a
   simple Template interface, and integrate with other hack middleware.

   Cal3D animation library. Gregory D. Weber [21]announced the [22]Cal3D
   for Haskell project, which provides a partial binding to the [23]C++
   Cal3D animation library, a platform- and graphics-API-independent C++
   library for skeletal-based character animation. There are three
   packages available on hackage: [24]cal3d-0.1, a Haskell binding to the
   Cal3D library itself; as well as [25]cal3d-opengl-0.1 and

   A Reader Monad Tutorial. Henry Laxen [27]announced a nice [28]Reader
   monad tutorial.

   full-sessions: yet another implementation of session types. Keigo Imai
   [29]announced the pre-release of [30]full-sessions, yet another
   implementation of session types in Haskell. Session types are used to
   statically check the safe and consistent use of communication channels
   according to protocols. A notable advantage of [31]this implementation
   is that it requires almost no type annotation or term annotations. and
   at the same time provides full functionality of session types including
   channel-generation and channel-passing.

   darcs 2.3 beta 1. Petr Rockai [32]announced the immediate availability
   of a first beta release of darcs 2.3. There are a number of
   improvements and bugfixes over the last stable release, 2.2 (see the
   announcement for a full list). Moreover, work has been done on
   performance of "darcs whatsnew" for large repositories. This has also
   introduced a slight risk of regressions, but please note that all of
   the disruptive changes are in read-only code paths: the new code will
   never touch your repository, so it is unable to cause permanent harm.
   The worst that could happen is that you get no or bad diff from "darcs
   whatsnew". Please help test it (cabal install [33]darcs-beta)!

   New release of ZeroTH. Robin Green [34]announced a new release
   (2009.6.23.3) of [35]ZeroTH, a tool for preprocessing Haskell code to
   run splices and remove Template Haskell dependencies. Major changes
   include support for more Haskell code via haskell-src-exts 1.0.0,
   better error messages, and librification.

   Emping-0.6 and Tests/Examples. Hans van Thiel [36]announced version 0.6
   of [37]Emping, a (prototype) interactive tool for the discovery and
   analysis of (universal, not statistical) predictive rules in tables of
   nominal data.

   haskell-src-exts-1.0.0. Niklas Broberg [38]announced the first stable
   release of the [39]haskell-src-exts package, version 1.0.0!
   haskell-src-exts is a package for Haskell source code manipulation. In
   particular it defines an abstract syntax tree representation, and a
   parser and pretty-printer to convert between this representation and
   String. It handles (almost) all syntactic extensions to the Haskell 98
   standard implemented by GHC, and the parsing can be parametrised on
   what extensions to recognise.

   HaRe (the Haskell Refactorer) in action - short screencast. Claus
   Reinke [40]linked to [41]a short video showing [42]HaRe, the Haskell
   refactorer, in action. HaRe still exists---but needs some love in the
   form of time and/or funding for maintenance and continued development.

   Trivial pivoting for the DSP lu decomposition. Fernan Bolando
   [43]announced the beginnings of a [44]simple circuit simulator using
   haskell, which uses a modified version of the haskell DSP library
   matrix, extended with a simple pivoting method.


   make some Applicative functions into methods, and split off
   Data.Functor. Ross Paterson [45]proposed moving several functions such
   as (<$), (*>), and so on into their respective classes with default
   definitions, to allow for specialized implementations.

   base library and GHC 6.12. Ian Lynagh began a [46]discussion about how
   to structure the base library in the future.

   Proposal: ExplicitForall. Niklas Broberg [47]proposed adding a new GHC
   extension, ExplicitForall, to be used for turning on explicit 'forall'
   syntax in types, and to help disentangle and simplify some existing

   Generic Graph Class. Ivan Lazar Miljenovic [48]proposed a generic graph
   class to serve as a common interface for the many Haskell libraries
   that deal with graph data structures.

   Type system trickery. Andrew Coppin [49]asked how to statically ensure
   certain properties of recursive data structures with the type system,
   generating varied suggestions involving GADTs.

Blog noise

   [50]Haskell news from the [51]blogosphere. Blog posts from people new
   to the Haskell community are marked with >>>, be sure to welcome them!
     * Magnus Therning: [52]Making a choice from a list in Haskell, Vty
       (part 0).
     * The Gentoo Haskell Team: [53]Haskell in Gentoo.
     * Michael Snoyman: [54]Hack Introduction.
     * >>> Henry Laxen: [55]Reader Monad Confusion.
     * >>> Akshay: [56]Dynamic Programming in Haskell and why DP is
     * David Amos: [57]Direct products revisited.
     * mightybyte: [58]Basic Happstack Blog App.
     * David Amos: [59]Some groups and some graphs.
     * Gergely Patai: [60]Short-term hp2any plans.
     * Isaac Dupree: [61]cross-package, Plan A.
     * >>> Oliver Reeves: [62]Data Crunching in Haskell.
     * Roman Cheplyaka: [63]Halting problem.
     * Petr Rockai: [64]darcs 2.3 beta 1.
     * Eric Kow (kowey): [65]Haskell syntax highlighting on Wikipedia and
     * Greg Bacon: [66]Setting up a simple test with Cabal.
     * Isaac Dupree: [67]Cross-package documentation, part 1.
     * Sean Leather: [68]RFC: Extensible, typed scanf- and printf-like
       functions for Haskell.
     * >>> Akshay: [69]Foray Into Haskell.
     * >>> Ivan Uemlianin: [70]decorate-sort-undecorate in Haskell.
     * Isaac Dupree: [71]How To Navigate Your Code:.
     * Petr Rockai: [72]soc progress 5.
     * DEFUN 2009: [73]The tutorial schedule is now ready.
     * DEFUN 2009: [74]Last call for talk proposals!.
     * >>> Greg Bacon: [75]Setting up a simple test with Cabal.
     * The GHC Team: [76]New paper: Parallel Performance Tuning for
     * Brandon Simmons: [77]Fun with Lazy Arrays: the LZ77 Algorithm.
     * >>> Keith: [78]Bird Tracks Through Math Land: Basic Matrix Ops.

Quotes of the Week

     * gnuvince: Contributions to Hackage are measured in µConals.
     * DavidWheeler: Compatibility means deliberately repeating other
       people's mistakes.

About the Haskell Weekly News

   New editions are posted to [79]the Haskell mailing list as well as to
   [80]the Haskell Sequence and [81]Planet Haskell. [82]RSS is also
   available, and headlines appear on [83]haskell.org.

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


   1. http://haskell.org/
   2. http://article.gmane.org/gmane.comp.lang.haskell.general/17320
   3. http://www.regmaster.com/conf/icfp2009.html
   4. http://haskell.org/haskell-symposium/2009/
   5. http://www.haskell.org//pipermail/haskell/2009-June/021449.html
   6. http://repetae.net/computer/jhc/
   7. http://www.haskell.org//pipermail/haskell/2009-June/021460.html
   8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhb
   9. http://article.gmane.org/gmane.comp.lang.haskell.general/17317
  10. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happstack
  11. http://article.gmane.org/gmane.comp.lang.haskell.general/17316
  12. http://hackage.haskell.org/package/sendfile
  13. http://article.gmane.org/gmane.comp.lang.haskell.general/17311
  14. http://hackage.haskell.org/package/control-monad-queue
  15. http://article.gmane.org/gmane.comp.lang.haskell.general/17307
  16. http://article.gmane.org/gmane.comp.lang.haskell.general/17304
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/gnome%2Ddesktop
  18. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60675
  19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/loli
  20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hack
  21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60596
  22. http://haskell.org/haskellwiki/Cal3d_animation
  23. http://home.gna.org/cal3d/
  24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d
  25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d%2Dopengl
  26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d%2Dexamples
  27. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60591
  28. http://www.maztravel.com/haskell/readerMonad.html
  29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60511
  30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/full%2Dsessions
  31. http://www.agusa.i.is.nagoya-u.ac.jp/person/sydney/full-sessions.html
  32. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60465
  33. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/darcs%2Dbeta
  34. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60430
  35. http://hackage.haskell.org/package/zeroth
  36. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60411
  37. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Emping
  38. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60392
  39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell%2Dsrc%2Dexts
  40. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60388
  41. http://www.youtube.com/watch?v=4I7VZV7elnY
  42. http://www.cs.kent.ac.uk/projects/refactor-fp/
  43. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60590
  44. http://plan9.bell-labs.com/sources/contrib/fernan/escomma.tar.bz2
  45. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11428
  46. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11413
  47. http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/17137
  48. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/60460
  49. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/60277
  50. http://planet.haskell.org/
  51. http://haskell.org/haskellwiki/Blog_articles
  52. http://therning.org/magnus/archives/664
  53. http://gentoohaskell.wordpress.com/?p=3
  54. http://blog.snoyman.com/2009/06/28/hack-introduction/
  55. http://www.maztravel.com/haskell/readerMonad.html
  56. http://www.akrish.net/2009/06/28/dynamic-programming-in-haskell-and-why-dp-is-useful/
  57. http://haskellformaths.blogspot.com/2009/06/direct-products-revisited.html
  58. http://softwaresimply.blogspot.com/2009/04/basic-happstack-blog-app.html
  59. http://haskellformaths.blogspot.com/2009/06/some-groups-and-some-graphs.html
  60. http://just-bottom.blogspot.com/2009/06/short-term-hp2any-plans.html
  61. http://haddock2009.wordpress.com/2009/06/25/cross-package-plan-a/
  62. http://buffered.io/2009/06/25/data-crunching-in-haskell/
  63. http://ro-che.blogspot.com/2009/06/halting-problem.html
  64. http://web.mornfall.net/blog/darcs_2.3_beta_1.html
  65. http://koweycode.blogspot.com/2009/06/haskell-syntax-highlighting-on.html
  66. http://feedproxy.google.com/~r/gbacon/~3/7rlf4Dd1JKU/setting-up-simple-test-with-cabal.html
  67. http://haddock2009.wordpress.com/2009/06/24/cross-package-documentation-part-1/
  68. http://feedproxy.google.com/~r/splonderzoek/~3/vO9VuXrFTCg/rfc-extensible-typed-scanf-and-printf.html
  69. http://www.akrish.net/2009/06/24/foray-into-haskell/
  70. http://llaisdy.wordpress.com/2009/06/24/decorate-sort-undecorate-in-haskell/
  71. http://haddock2009.wordpress.com/2009/06/23/how-to-navigate-your-code/
  72. http://web.mornfall.net/blog/soc_progress_5.html
  73. http://www.defun2009.info/blog/2009/06/the-tutorial-schedule-is-now-ready/
  74. http://www.defun2009.info/blog/2009/06/last-call-for-talk-proposals/
  75. http://gbacon.blogspot.com/2009/06/setting-up-simple-test-with-cabal.html
  76. http://ghcmutterings.wordpress.com/2009/06/22/new-paper-parallel-performance-tuning-for-haskell/
  77. http://coder.bsimmons.name/blog/2009/06/fun-with-lazy-arrays-the-lz77-algorithm/
  78. http://blog.keithsheppard.name/2009/06/bird-tracks-through-math-land-basic.html
  79. http://www.haskell.org/mailman/listinfo/haskell
  80. http://sequence.complete.org/
  81. http://planet.haskell.org/
  82. http://sequence.complete.org/node/feed
  83. http://haskell.org/
  84. http://haskell.org/haskellwiki/HWN
  85. http://code.haskell.org/~byorgey/code/hwn/

More information about the Haskell-Cafe mailing list