
--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20070412 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 libraries! 1. http://haskell.org/ Announcements 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 [15]here. 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 information. 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 functions. 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 Haskell' 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 Libraries 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 Discussion 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 representation. 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 workshop. 54. http://article.gmane.org/gmane.comp.lang.haskell.general/14989 55. http://cufp.galois.com/ Jobs 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... 62. http://notes-on-haskell.blogspot.com/2007/03/fundamental-ideas-of-computing.... 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-fo... 75. http://saladwithsteve.com/2007/04/haskell-thoughts.html 76. http://weblog.raganwald.com/2007/04/haskell-not-just-for-language-weenies.ht... 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-attentio... 81. http://neilbartlett.name/blog/2007/04/11/haskell-an-imperative-language-with... 82. http://etorreborre.blogspot.com/2007/04/pattern-matching-with-ruby.html 83. http://themechanicalbride.blogspot.com/2007/04/haskell-for-c-3-programmers.h... 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 [91]http://www.cse.unsw.edu.au/~dons/code/hwn 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
participants (1)
-
dons@cse.unsw.edu.au