[Haskell-cafe] Haskell Weekly News: April 12, 2007

Donald Bruce Stewart dons at cse.unsw.edu.au
Wed Apr 11 23:21:59 EDT 2007

Haskell Weekly News
Issue 60 - April 12, 2007

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

   With the ICFP deadline passed, your Haskell Weekly News returns to its
   regularly scheduled programming. This week: a truckload of new

   1. http://haskell.org/


   ndp-0.1: nested data parallelism in Haskell. Roman Leshchinskiy
   [2]announced the first release of [3]the NDP package, a library for
   writing nested data-parallel programs in Haskell, on shared-memory
   multiprocessors. The NDP library is part of the Data Parallel Haskell
   project. The paper [4]Data Parallel Haskell: a status report describes
   the underlying design and go through an example program.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/15006
   3. http://haskell.org/haskellwiki/GHC/Data_Parallel_Haskell
   4. http://www.cse.unsw.edu.au/~chak/papers/CLPKM07.html

   binary 0.3: bigger, better, faster. Lennart Kolmodin [5]announced
   binary 0.3. The 'binary' package provides efficient serialization of
   Haskell values to and from lazy ByteStrings. ByteStrings constructed
   this way may then be written to disk, written to the network, or
   further processed (e.g. stored in memory directly, or compressed in
   memory with zlib or bzlib). It's available [6]through Hackage, or via
   its [7]homepage.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/15044
   6. http://hackage.haskell.org/packages/archive/binary/binary-0.3.tar.gz
   7. http://www.cse.unsw.edu.au/~dons/binary.html

   Text.HTML.Chunks. Matthew Sackman [8]announced the [9]Text.HTML.Chunks
   library, a clone with improvements of the Perl HTML::Chunks module.
   The main achievement is the use of template-haskell to combine the
   template into the code at compile time. This then allows for static
   checking that the variables/fields that the templates are expecting
   are indeed being provided and that the templates the code is trying to
   use do indeed exist. The template is then incorporated within the
   code, removing the dependency on the template.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/15028
   9. http://www.wellquite.org/chunks

   Phooey 1.0 and GuiTV 0.3. Conal Elliott [10]announced a new version of
   Phooey, a library for functional user interfaces. Highlights in this
   release: uses new TypeCompose package, which includes a simple
   implementation of data-driven computation; new Applicative functor
   interface; eliminated the catch-all Phooey.hs module. Now import any
   one of Graphics.UI.Phooey.{Monad ,Applicative,Arrow}; Phooey.Monad has
   two different styles of output widgets, made by owidget and owidget'
   and more. Phooey is also used in GuiTV, a library for composable
   interfaces and 'tangible values'.

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

   The real Monad Transformer. Henning Thielemann [11]announced the real
   monad transformer! It has been argued that people avoid Haskell
   because of terms from Category theory like 'Monad'. This problem can
   now be solved by a wrapper which presents all the internet entirely
   without monads! Start [12]the parallel Haskell wiki. Of course the
   tool is written in Haskell, that is, Haskell helps solving problems
   which only exist because of Haskell. Bug reports and feature requests
   can be tracked at [13]here.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/15059
  12. http://tinyurl.com/2e32r4
  13. https://sourceforge.net/projects/parallelweb

   GHC 6.6.1 Release Candidate. Ian Lynagh [14]announced the Release
   Candidate phase for GHC 6.6.1. Snapshots beginning with 6.6.20070409
   are release candidates for 6.6.1. You can download snapshots from

  14. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11964
  15. http://www.haskell.org/ghc/dist/stable/dist/

   Haskell Cryptographic Library 4.0.3. Dominic Steinitz [16]announced
   the release of a new version of the Haskell Cryptographic Library
   based on the [17]crypto proposal. See [18]the crypto home for more
   details. There is now no dependency on NewBinary. The downside is the
   library contains no support for ASN.1 which will be released in
   separate package.

  16. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6761
  17. http://www.haskell.org/haskellwiki/Crypto_Library_Proposal
  18. http://www.haskell.org/crypto/

   TagSoup library 0.1. Neil Mitchell [19]announced TagSoup, a library
   for extracting information out of unstructured HTML code, sometimes
   known as [20]tag-soup. The HTML does not have to be well formed, or
   render properly within any particular framework. This library is for
   situations where the author of the HTML is not cooperating with the
   person trying to extract the information, but is also not trying to
   hide the information. The library provides a basic data type for a
   list of unstructured tags, a parser to convert HTML into this tag
   type, and useful functions and combinators for finding and extracting

  19. http://article.gmane.org/gmane.comp.lang.haskell.general/15100
  20. http://www-users.cs.york.ac.uk/~ndm/tagsoup/

   ParseP library 0.1. Twan van Laarhoven [21]announced a
   generalized/improved variant of the ReadP parser library. Unlike ReadP
   ParseP can handle any type of token, and actually generates error
   messages in case something goes wrong. It is also possible to use
   things other then a list as an input stream, for example ByteStrings.

  21. http://article.gmane.org/gmane.comp.lang.haskell.general/15101

   Debian library for Haskell. Jeremy Shaw [22]announced the availability
   of a library for interacting with the Debian system from Haskell. This
   library does not (currently) depend on dpkg or apt for any
   functionality. Contributions are welcome, and the library is available
   from [23]Hackage. Well-Support Modules: parsing/Printing Debian
   control files, parsing/printing sources.list files, comparing Debian
   version numbers, a data type for encoding Debian relations and more.

  22. http://article.gmane.org/gmane.comp.lang.haskell.general/15064
  23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/debian-1.2

   Call for Contributions: HC and A Report. Andres Loeh [24]mentioned
   that it is nearly time for the twelfth edition of the [25]Haskell
   Communities and Activities Report. If you are working on any project
   that is in some way related to Haskell, write a short entry and submit
   it. Even if the project is very small or unfinished or you think it is
   not important enough -- please reconsider and submit an entry anyway!

  24. http://article.gmane.org/gmane.comp.lang.haskell.general/15096
  25. http://www.haskell.org/communities/

   System.FilePath 1.0. Neil Mitchell [26]announced the
   [27]System.FilePath 1.0 release! The FilePath library is a library for
   manipulating FilePaths in a cross platform way on both Windows and
   Unix. [28]Documentation.

  26. http://article.gmane.org/gmane.comp.lang.haskell.general/15097
  27. http://www-users.cs.york.ac.uk/~ndm/filepath/
  28. http://www.cs.york.ac.uk/fp/haddock/filepath/

   FGL - A Functional Graph Library. Martin Erwig [29]announced a new
   release of [30]the Functional Graph Library for Haskell. This release
   fixes some bugs in the implementation of several basic inspection

  29. http://article.gmane.org/gmane.comp.lang.haskell.general/15052
  30. http://eecs.oregonstate.edu/~erwig/fgl/haskell/

   TypeCompose 0.0. Conal Elliott [31]announced TypeCompose, which
   provides some classes and instances for forms of type composition. It
   also includes a very simple implementation of data-driven computation.

  31. http://article.gmane.org/gmane.comp.lang.haskell.general/15046

   Haskell SWF generation library. Jeremy Shaw [32]announced the
   availability of an Adobe Shockwave Flash (SWF) [33]library for
   Haskell. It is primarily useful for compiling ActionScript assembly
   into a .swf file.

  32. http://article.gmane.org/gmane.comp.lang.haskell.general/15095
  33. http://www.n-heptane.com/nhlab/repos/haskell-swf/

   New web-devel mailinglist for Haskell. Marc Weber [34]announced a new
   web-devel mailinglist on haskell.org has been set up. You can
   subscribe [35]here.

  34. http://article.gmane.org/gmane.comp.lang.haskell.general/15045
  35. http://www.haskell.org/mailman/listinfo/web-devel

   strict-0.1: strict versions of Haskell types. Roman Leshchinskiy
   [36]announced the first release of [37]package 'strict' which provides
   strict versions of standard Haskell types. At the moment, pairs, Maybe
   and Either are defined. The library is available [38]from hackage.

  36. http://article.gmane.org/gmane.comp.lang.haskell.general/15017
  37. http://www.cse.unsw.edu.au/~rl/code/strict.html
  38. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/strict-0.1

   Chess in Haskell. Steffen Mazanek [39]announced a straightforward
   implementation of [40]a chess engine in Haskell, available as a
   tutorial exercise.

  39. http://article.gmane.org/gmane.comp.lang.haskell.general/15002
  40. http://www.steffen-mazanek.de/blog/2007/02/haskell-chess.html

   storylen: story word count and categorization. Dino Morelli
   [41]announced storylen, a [42]command-line utility that counts the
   words in files and classifies them into story types (short story,
   novella, novel...). Its operation and output are very similar to the
   *nix program wc. This is useful for books in plain ascii text.

  41. http://article.gmane.org/gmane.comp.lang.haskell.general/15083
  42. http://ui3.info/d/proj/storylen.html


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

     * [44]Type aliases and Id
     * [45]Strict bits of datatypes
     * [46]Literate Haskell specification

  43. http://hackage.haskell.org/trac/haskell-prime
  44. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2152
  45. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2139
  46. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2177


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

     * [48]Reduce base from the top
     * [49]Make Data.Graph.Inductive.NodeMap handle slightly messy input
     * [50]ByteString based datagram communication

  47. http://haskell.org/haskellwiki/Library_submissions
  48. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6716
  49. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6727
  50. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6559


   Haskell in the real world: building a commercial website in Haskell
   with WASH. Adam Peacock [51]described how he implemented a commercial
   website in Haskell, using WASH

  51. http://article.gmane.org/gmane.comp.lang.haskell.cafe/21159

   Haskell communities worthy of academic study?. Claus Reinke
   [52]wondered about the software archeology of Haskell.

  52. http://article.gmane.org/gmane.comp.lang.haskell.general/15048

   Type level programming to eliminate array bound checking in the real
   world. Vivian McPhail [53]mentioned an attempt to write code that will
   receive an array from C land and convert it to a type safe

  53. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/21314

Conference roundup

   Commercial Users of Functional Programming. Simon Peyton-Jones
   [54]announced the call for speakers for this year's [55]CUFP. If you
   use functional programming as a means, rather than as an end, this
   message is an invitation for you to offer to give a talk at the

  54. http://article.gmane.org/gmane.comp.lang.haskell.general/14989
  55. http://cufp.galois.com/


   One-year INRIA post-doctoral position. Frederic Blanqui [56]announced
   a one-year INRIA post-doctoral position is available investigating
   'Generation of construction functions guaranteeing algebraic
   invariants on concrete data types'

  56. http://article.gmane.org/gmane.comp.lang.haskell.general/15018

Blog noise

   [57]Haskell news from the blogosphere.

     * [58]What Programming Languages Should You Know?
     * [59]Monads in 15 minutes: Backtracking and Maybe
     * [60]Time to learn a little Haskell...
     * [61]Say what you mean, mean what you say
     * [62]Fundamental Ideas of Computing
     * [63]On Code Generation
     * [64]Monads in the unix shell
     * [65]Haskell Eye for the Ruby Guy
     * [66]2D Mouse Picking with OpenGL and GLUT
     * [67]Implementing chess in Haskell
     * [68]Port Scanner in Haskell
     * [69]Command line arguments in Haskell
     * [70]IFS In Haskell
     * [71]Spider Solitaire, Intro
     * [72]Learning Haskell...
     * [73]Quick and Dirty Theorem Prover.
     * [74]Software Transactional Memory for concurrency
     * [75]Haskell thoughts.
     * [76]What Haskell teaches us about writing Enterprise-scale software
     * [77]Unit testing in Haskell
     * [78]The imaginary concurrency debate: Erlang versus Haskell
     * [79]On Haskell: Writing a black-list filter using the Writer Monad
     * [80]A simple file filter
     * [81]Haskell: an Imperative Language with Mutable State
     * [82]Pattern matching in Haskell and Ruby
     * [83]Haskell for C# Programmers

  57. http://planet.haskell.org/
  58. http://tinyurl.com/2aczfr
  59. http://www.randomhacks.net/articles/2007/03/12/monads-in-15-minutes
  60. http://edge-loop.spaces.live.com/Blog/cns!8F028CC27525BEA1!1175.entry
  61. http://notes-on-haskell.blogspot.com/2007/03/say-what-you-mean-mean-what-you-say.html
  62. http://notes-on-haskell.blogspot.com/2007/03/fundamental-ideas-of-computing.html
  63. http://blog.twifkak.com/articles/2007/03/12/on-code-generation
  64. http://freeshells.ch/~revence/monads.html
  65. http://antoniocangiano.com/articles/2007/03/13/haskell-eye-for-the-ruby-guy
  66. http://mad-computer-scientist.com/blog/?p=14
  67. http://www.steffen-mazanek.de/blog/2007/02/haskell-chess.html
  68. http://tinyurl.com/2fs39r
  69. http://leiffrenzel.de/papers/commandline-options-in-haskell.html
  70. http://www.alpheccar.org/en/posts/show/69
  71. http://partiallyappliedlife.blogspot.com/2007/03/spider-solitaire-intro.html
  72. http://a-w-j.blogspot.com/2007/03/learning-haskell.html
  73. http://vandreev.wordpress.com/2006/12/24/quick-and-dirty-theorem-prover/
  74. http://mikeburrell.wordpress.com/2007/03/20/software-transactional-memory-for-concurrency/
  75. http://saladwithsteve.com/2007/04/haskell-thoughts.html
  76. http://weblog.raganwald.com/2007/04/haskell-not-just-for-language-weenies.html
  77. http://cohatoe.blogspot.com/2007/04/unit-testing-in-haskell.html
  78. http://toomuchcode.blogspot.com/2007/04/imaginary-concurrency-debate.html
  79. http://austin.youareinferior.net/?q=node/22
  80. http://praisecurseandrecurse.blogspot.com/2007/04/haskell-for-short-attention-span-simple.html
  81. http://neilbartlett.name/blog/2007/04/11/haskell-an-imperative-language-with-mutable-state/
  82. http://etorreborre.blogspot.com/2007/04/pattern-matching-with-ruby.html
  83. http://themechanicalbride.blogspot.com/2007/04/haskell-for-c-3-programmers.html

Quotes of the Week

     * AdamPeacock: Once I looked at the source code, 25000 lines of ASP,
       I reckoned it would be easier to rewrite it in a real language.

     * JesseVincent: Perl's idea of a type system is: 'La-La-La, I don't
       hear you'

     * LPhas: [In reference to HAppS.SimpleHTTP] When I first saw the
       type of 'h' my reaction was to hide under my bed

     * SvenPanne: Taking away the prelude is a little bit like taking
       away 'int', 'double', 'for' and 'while' from a C programmer

     * sjanssen: Threads are fine, its your language that sucks.

     * thorat: C should only be used to implement something better

About the Haskell Weekly News

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

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

  84. http://www.haskell.org/mailman/listinfo/haskell
  85. http://sequence.complete.org/
  86. http://planet.haskell.org/
  87. http://sequence.complete.org/node/feed
  88. http://haskell.org/
  89. http://www.cse.unsw.edu.au/~dons/code/hwn/archives/20070412.pdf
  90. http://haskell.org/haskellwiki/HWN
  91. http://www.cse.unsw.edu.au/~dons/code/hwn

More information about the Haskell-Cafe mailing list