[Haskell] Haskell Weekly News: December 05, 2006

Donald Bruce Stewart dons at cse.unsw.edu.au
Mon Dec 4 21:12:27 EST 2006

Haskell Weekly News
Issue 52 - December 05, 2006

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

   This week we see the 11th Haskell Communities and Activities Report
   released, Visual Haskell 0.2 is available, and a suite of new
   libraries and applications are announced.


   Communities and Activities Report. Andres Loeh [1]published the
   [2]Haskell Communities and Activities Report (11th edition, November
   2006). The report is now available from the Haskell Communities home
   page in several formats. The goal of the report is to improve the
   communication between the increasingly diverse groups, projects and
   individuals working on, with, or inspired by Haskell. When we try for
   the next update, six months from now, you might want to report on your
   own work, project, research area or group as well.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14545
   2. http://www.haskell.org/communities/

   Visual Haskell prerelease 0.2. Krasimir Angelov [3]announced that
   there is a prerelease version of Visual Haskell [4]available. This is
   the first version that is: available for both VStudio 2003 and VStudio
   2005, and distributed with a stable GHC version (6.6)

   3. http://thread.gmane.org/gmane.comp.lang.haskell.general/14527/focus=14527
   4. http://www.haskell.org/visualhaskell

   Haskell MIME library. Jeremy Shaw [5]announced the availability of a
   MIME processing library. This library is supposed to be able to parse
   emails and decode various attachments, and generate emails with
   attachments. [6]The library includes modules that implement portions
   of: RFC 2045, RFC 2046, RFC 2387 and RFC 2822.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/14555
   6. http://www.n-heptane.com/nhlab/repos/haskell-mime

   Core (ghc-base) library. Bulat Ziganshin [7]announced progress on the
   Core library project, to divide the Haskell base library into two
   parts: small compiler-specific one (the Core library proper) and the
   rest: new, compiler-independent Base library that uses only services
   provided by Core lib.

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

   hpodder 0.99.0. John Goerzen [8]announced hpodder 0.99.0, the first
   beta candidate for making an eventual 1.0.0 release of hpodder.
   [9]hpodder is a podcast downloader that happens to be written in
   Haskell. This version introduces two major new features: nicer
   apt-like output and multithreaded downloading.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14533/
   9. http://quux.org/devel/hpodder

   MissingH 0.16.3. John Goerzen [10]released MissingH 0.16.3. Including
   a new module MissingH.ProgressTracker which tracks the progress of
   long-running tasks, and MissingH.Quantity which renders numbers
   according to a quantification system such as SI or binary.

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

   The restricted IO monad. Stefan O'Rear [11]introduced RIO, an
   experimental library for extensible restricted IO in Haskell.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14526

   Typed symbolic differentiation. Oleg Kiselyov [12]showed symbolic
   differentiation of a wide class of numeric functions without any
   interpretative overhead. The functions to symbolically differentiate
   can be given to us in a compiled form (in .hi files); their source
   code is not needed. We produce a (compiled, if needed) function that
   is an exact, algebraically simplified analytic derivative of the given
   function. Our approach is reifying code into its `dictionary view',
   intensional analysis of typed code expressions, and the use of staging
   to evaluate under lambda.

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


   This section covers the [13]Haskell' standardisation process.

     * [14]Standard (core) libraries initiative: rationale
     * [15]Character literal question

  13. http://hackage.haskell.org/trac/haskell-prime
  14. http://article.gmane.org/gmane.comp.lang.haskell.prime/1919
  15. http://article.gmane.org/gmane.comp.lang.haskell.prime/1942


   This week's proposals and extensions to the [16]standard libraries.

     * [17]Data.List documentation improvements

  16. http://haskell.org/haskellwiki/Library_submissions
  17. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5902/focus=5902


   The Data.Array.* hierarchy is unsafe: segfaulting for fun and profit.
   Spencer Janssen [18]revealed that a malicious Ix instance can be used
   to create segfaulting array programs in pure Haskell (under GHC or
   Hugs), without the use of anything marked 'unsafe'. The array
   operators trust the Ix instance to manage boundaries correctly. It was
   pointed out that the Haskell standard requires Ix instances obey an
   in-range side condition (just as Monad instances have side

  18. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5903/

   Merging MissingH into the standard libraries. John Goerzen
   [19]proposed a [20]renaming plan to aid splitting, and merging the
   various MissingH modules into their own packages, and into base

  19. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16985/focus=16985
  20. http://software.complete.org/missingh/wiki/TransitionPlanning

   Defining Cg, HLSL style vectors in Haskell. Slavomir Kaslev [21]asked
   about defining a couple of float2, float3, float4 Cg, HLSL style
   vectors in Haskell.

  21. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16898/focus=16898

   Extracting sublists. Huazhi Gong [22]asked about the best way to
   extract sublists. Several solutions where suggested, including [23]a
   nice one by Oleg.

  22. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16976/focus=16976
  23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/16984

   Generating 50 randoms. Huazhi Gong [24]also asked about how best to
   generate 50 random integers, leading to some lovely of creative

  24. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/17029/focus=17029

Blog noise

   [25]Haskell news from the blogosphere.

     * [26]Haskell Preliminaries: Implementations and Tools
     * [27]Simple Functions in Haskell
     * [28]Functions, Types, Function Types, and Type Inference
     * [29]Building Datatypes in Haskell (part 1)
     * [30]OOPSLA 2006 Summary
     * [31]Some Very Basic Haskell and Thoughts on Error Diagnosis
     * [32]Hello world! in Haskell
     * [33]Haskell - A valuable language
     * [34]On Functional Programming
     * [35]Listing files in Haskell
     * [36]Bits and Pieces of Haskell
     * [37]Typing like a Functional Programmer
     * [38]6 Languages
     * [39]Closures and bottom for Java
     * [40]A newbie in Haskell land
     * [41]Interesting parsers in Haskell
     * [42]Meep for developers (finite-difference time-domain simulation software in Haskell)
     * [43]Algorithmic Music in Real Time using Haskell
     * [44]Rank-2 polymorphism is a strange thing
     * [45]Scalable computer programming languages
     * [46]Parser with Writer monad
     * [47]Metacognitive processes involved in deriving a solution to unzip
     * [48]Python Decorators - not desirable in Haskell
     * [49]Tools for haskell problem solving
     * [50]Technology Time Warp: trying out Lisp and Haskell
     * [51]Haskell programming language assignment
     * [52]Building GHC in under 10 minutes
     * [53]Lets play a game
     * [54]foldr, foldl
     * [55]Monads in Ruby Part 1: Identity
     * [56]Monads In Ruby Part 1.5: Identity
     * [57]New Languages
     * [58]You have to love Haskell
     * [59]Polynomials as numbers
     * [60]Parser combinators
     * [61]Lisp, you're old (but we love you anyway)
     * [62]Will somebody please think of the Parens!?
     * [63]Diving into Haskell
     * [64]FourFours in Haskell

  25. http://planet.haskell.org/
  26. http://scienceblogs.com/goodmath/2006/11/haskell_preliminaries_implemen.php
  27. http://scienceblogs.com/goodmath/2006/11/simple_functions_in_haskell_1.php
  28. http://scienceblogs.com/goodmath/2006/12/functions_types_function_types_1.php
  29. http://scienceblogs.com/goodmath/2006/12/building_datatypes_in_haskell_1.php
  30. http://mark.santaniello.net/archives/274
  31. http://praisecurseandrecurse.blogspot.com/2006/11/some-very-basic-haskell-and-thoughts-on.html
  32. http://blog.milkfarmsoft.com/?cat=6
  33. http://channel9.msdn.com/ShowPost.aspx?PostID=261386#261386
  34. http://www.pbell.com/index.cfm/2006/11/26/On-Functional-Programming
  35. http://therning.org/magnus/archives/228
  36. http://pseudofish.com/blog/2006/11/28/bits-and-pieces-of-haskell/
  37. http://www.artima.com/weblogs/viewpost.jsp?thread=186200
  38. http://sharp-blue.livejournal.com/14234.html
  39. http://www.javac.info/closures-v03.html
  40. http://www.alpheccar.org/en/posts/show/60
  41. http://www-etud.iro.umontreal.ca/~laurieti/parser.html
  42. http://shejun.blogspot.com/2006/11/meep-for-developers.html
  43. http://hemiolesque.blogspot.com/2006/11/algorithmic-music-in-real-time.html
  44. http://cucumariid.livejournal.com/36757.html
  45. http://www.cs.caltech.edu/~mvanier/hacking/rants/scalable_computer_programming_languages.html
  46. http://sequence.complete.org/node/231
  47. http://sequence.complete.org/node/235
  48. http://sequence.complete.org/node/232
  49. http://sequence.complete.org/node/230
  50. http://markagrant.blogspot.com/2006/12/technology-time-warp.html
  51. http://ched.vox.com/library/photo/6a00c225264de2549d00cdf3a3d6fbcb8f.html#comments
  52. http://cgi.cse.unsw.edu.au/~dons/blog/2006/12/03#build_ghc_fast
  53. http://e-scribe.com/news/193#541
  54. http://monad.carnalreason.org/wordpress/?p=19
  55. http://meta-meta.blogspot.com/2006/12/monads-in-ruby-part-1-identity.html
  56. http://meta-meta.blogspot.com/2006/12/monads-in-ruby-part-15-identity.html
  57. http://www.travishartwell.net/blog/2006/12/02_1144
  58. http://mikepence.wordpress.com/2006/10/31/you-have-to-love-haskell/
  59. http://www.quetzal.com/sambangu/2006/12/polynomials-as-numbers
  60. http://a-preponderance-of-pondering.blogspot.com/2006/12/parser-combinators.html
  61. http://a-preponderance-of-pondering.blogspot.com/2006/12/lisp-youre-old-but-we-love-you-anyway.html
  62. http://foldr.org/~michaelw/log/programming/lisp/lispin
  63. http://dm.zimmer428.net/index.php/archives/203
  64. http://www.joachim-breitner.de/blog/archives/210-FourFours-in-Haskell.html

Quotes of the Week

     * Andreas Rossberg: To the functional programmer's eye a loop is
       just a degenerate form of linear recursion written in an adhoc
       special syntax.

     * Cale: [on the discovery of a secret pi calculus monad] Someone
       apparently wasn't informed that integration into the collective
       Haskell hive-mind is mandatory

     * secretgeek: Because we've reached the limits of Moore's Law, the
       computers of the future will have many-core processors and all our
       programs will need to be written in a combination of Haskell and
       Lisp, that will itself be so powerful that the computers of the
       future will not be able to implement any of our ideas without
       creating time-travelling algorithms that borrow processing power
       from other computers that are further into the future. This sounds
       difficult, but in Lisp it isn't difficult at all. In Haskell this
       is a built-in feature and the way you implement it is just a

     * PaulPotts: Haskell is an even 'redder' pill than Lisp or Scheme

     * Pseudonym: Assuming an advanced compiler, your code will be sent
       to Oleg who will implement it in the type system.

     * cjeris: [wants ghc for wii] Build and deploy an army of functional
       dependencies and multi-parameter type classes to defend Hyrule
       from the menacing MUTATRON and his legion of Java programmers!

     * dons: My feeling is that the Java programmers will welcome us as liberators

     * greentea: To learn Monads, one must /become/ a Monad.

     * newsham: There are Just 1 types of people, Nothing and those who
       understand monads

     * vegai: In Soviet Russia, YOU blow up GHC's brain!

Code Watch

   Wed Nov 29 11:24:21 PST 2006. simonpj. [65]Make SpecConstr work right
   for nullary constructors. For totally stupid reasons, SpecConstr
   didn't work for the (particularly easy) case of nullary constructors
   like True and False. I just had some equations in the wrong order, so
   that a Var case came first, which matches a nullary constructor, with
   the constructor-application case afterwards. The fix is easy.

  65. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/18033

   Fri Dec 1 04:53:04 PST 2006. Wolfgang Thaller. [66]Decouple -O from
   -fvia-C. Nowadays, there are situations where -fvia-C is definitely
   unwanted, such as when -fPIC is used on some platforms, so we do not
   want implicit -fvia-C any more.

  66. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/18062

About the Haskell Weekly News

   Each week, new editions are posted to [67]the Haskell mailing list as
   well as to [68]the Haskell Sequence and [69]Planet Haskell. [70]RSS is
   also available, and headlines appear on [71]haskell.org. Headlines are
   available as PDF. The Haskell Weekly News is also [72]available in
   Spanish translation.

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

  67. http://www.haskell.org/mailman/listinfo/haskell
  68. http://sequence.complete.org/
  69. http://planet.haskell.org/
  70. http://sequence.complete.org/node/feed
  71. http://haskell.org/
  72. http://haskell.org/haskellwiki/HWN/es
  73. http://haskell.org/haskellwiki/HWN
  74. http://www.cse.unsw.edu.au/~dons/code/hwn

More information about the Haskell mailing list