
--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080709 Issue 76 - July 09, 2008 --------------------------------------------------------------------------- Welcome to issue 76 of HWN, a newsletter covering developments in the [1]Haskell community. The [2]ICFP Programming Contest is this weekend! Go forth and kick some butt, Haskell-style. A big thank you in advance to all those at PSU and U Chicago who are working hard to write and run the contest. Community News Luke Palmer (luqui) is [3]having a great time in Antwerp. John Goerzen's son is [4]so cute, it should be illegal. Announcements Haskell-cafe on lively.com. Edward Kmett has created a [5]Haskell Cafe room on Google's new virtual-world platform [6]Lively (which is unfortunately windows-only at the moment). Uniplate 1.2. Neil Mitchell [7]announced the release of [8]Uniplate 1.2, a library for reducing boilerplate code by performing generic traversals. Version 1.2 features some bug fixes, a compatibility layer with Compos and SYB, and a 25-50% performance increase over Uniplate 1.0. GHC 6.8.2 stable in Gentoo. Luis Araujo [9]announced that GHC 6.8.2, and its accompanying libraries, have now been marked as stable in the official Gentoo portage tree. The Monad.Reader (11) - Call for Copy. Wouter Swierstra [10]announced a call for copy for Issue 11 of [11]the Monad.Reader. The submission deadline is August 1, although you should let Wouter know as soon as possible if you plan to submit something. hCsound. John Lato [12]announced the initial public release of [13]hCsound, a Haskell binding to the Csound audio processing language API. Portland and OSCon. John Goerzen [14]inquired whether any Haskellers in Portland would be interested in getting together during OSCon July 23 or 24. Faster graph SCCs. Iavor Diatchki [15]announced that he has implemented Tarjan's algorithm for computing the strongly connected components of a graph, which is considerably faster than the containers package for larger graphs. Iavor's implementation is available in the [16]GraphSCC package. parallel map/reduce. jinjing [17]exhibited some code for doing parallel map/reduce computations. Disciplined Disciple Compiler. Ben Lippmeier [18]announced version 1.1 of the [19]Disciplined Disciple Compiler (DDC), an explicitly lazy dialect of Haskell, with support for first class destructive update of arbitrary data, computational effects without the need for state monads, and type directed field projections. Version 1.1 includes a number of new features and more example code. darcs 2.0.2. David Roundy [20]announced the release of [21]darcs 2.0.1 and 2.0.2. These releases fix quite a few bugs, and users of darcs 2 are strongly recommended to upgrade. Google Summer of Code Progress updates from participants in the 2008 [22]Google Summer of Code. GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. Over the [23]past two weeks, he has implemented type safe dynamic loading, an annotations system, and some sample plugins. Hoogle 4. Neil Mitchell (ndm) is working on [24]Hoogle 4. [25]This week, he has been working on type searching, using a much more efficient algorithm than type search in previous versions of Hoogle. Next week, he plans to finish off type search and work on the build system. DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a [26]physics engine using [27]Data Parallel Haskell. He spent most of [28]this week fixing bugs and improving existing simulation code. And he now has something to [29]show for it! Language.C. Benedikt Huber (visq) is [30]working on Language.C, a standalone parser/pretty printer library for C99. [31]This week, he created a semantic representation for declarations and types, and a way to convert between an AST representation and a semantic representation. Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a [32]make-like dependency analysis framework for Cabal. Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. GHC API. Thomas Schilling (nominolo) is working on [33]improvements to the GHC API. Libraries Proposals and extensions to the [34]standard libraries. Extensible exceptions. Ian Lynagh sent out a [35]proposal to replace the current exception mechanism in the base library with extensible exceptions, a la Simon Marlow's [36]extensible extensions paper. Deadline for discussion is 25th July. Discussion Qualified import syntax badly designed (?). Neil Mitchell began a [37]discussion about Haskell syntax for qualified module imports (and module imports in general). Trouble with zip12. Michael Feathers is [38]having trouble with the zip12 function and some weird SQL-related errors... Santana on my evil ways. John D. Ramsdell [39]set off a spate of Haskell song and poetry. Alternatives to convoluted record syntax. Dougal Stanton [40]asked about alternatives to convoluted record update syntax, eliciting a number of interesting responses. Jobs Lectureship in Functional Programming, Nottingham. Graham Hutton [41]announced an opening for a Lecturer in the Functional Programming Lab in Nottingham, a recently formed research group that comprises Thorsten Altenkirch, Graham Hutton, Henrik Nilsson, four research fellows, and eleven PhD students. Applications from the Haskell community are encouraged! The closing date for applications is Friday 15th August 2008. Blog noise [42]Haskell news from the [43]blogosphere. * Edward Kmett: [44]A Lively Haskell Cafe. A Haskell Cafe room on lively.com! * Sterling Clover: [45]Comonads in everyday life. A neat post on using a zipper comonad to render a website menu hierarchy without lots of duplicated effort. * Chung-chieh Shan: [46]Differentiating regions. * Real-World Haskell: [47]Real World Haskell, The Book, Available for Pre-Order. * Benedikt Huber: [48]An analysis-friendly representation. An update on Benedikt's Google Summer of Code project, Language.C. * Chris Okasaki: [49]Breadth-First Numbering: An Algorithm in Pictures. Algorithms without words! * >>> Jeremy Frens: [50]PE Problem #2 in All Languages (Part I). Jeremy explores solutions to Project Euler problem #2 in a variety of languages. * Roman Cheplyaka: [51]Double buffering & demo. A demo of Roman's Google Summer of Code physics simulator! * Roman Cheplyaka: [52]QuickCheck puzzle: the answer. Why Roman's QuickCheck test involving nonzero vectors didn't terminate. Sneaky. * Roman Cheplyaka: [53]Status report: week 6. A status report on Roman's Google Summer of Code project. * >>> JP Moresmau: [54]Handling errors in JSON to Haskell deserialization. JP adds error handling with an Either monad to his JSON deserialization code. * Braden Shepherdson: [55]Fixed Point Datatypes. Braden explains the concept of recursive data types as fixed points of functors. * Luis Araujo: [56]GHC 6.8.2 stable! (Himerge 0.21.9 too!). * Matthew Sackman: [57]Anglo Haskell 2008. * Neil Mitchell: [58]GSoC Hoogle: Week 6. * >>> James Hague: [59]Functional Programming Went Mainstream Years Ago. * Max Bolingbroke: [60]Compiler Plugins For GHC: Weeks Three and Four. An update on Max's Google Summer of Code project. * >>> David Overton: [61]A Haskell Sudoku Solver using Finite Domain Constraints. David shows how to use his Haskell constraint solver to solve Sudoku puzzles. Pretty neat! * >>> Lorenz Pretterhofer: [62]Haskell Does Concurrency. * Edward Kmett: [63]Anamorphism. The newest installment in Edward's [64]field guide to recursion schemes. * John Goerzen (Real World Haskell): [65]Last Call for Comments on Most Chapters. Real World Haskell is going to press soon! Get your final comments in ASAP! * Edward Kmett: [66]MSFP 2008. * Lennart Augustsson: [67]Lost and Found. A very slick Haskell library for tracing how expressions are actually evaluated, including the ability to explicitly see the sharing involved! * Tom Nielsen (FP Lunch): [68]braincurry. A domain specific language to define and execute experiments and simulations related to cellular neuroscience. * Alex McLean: [69]Visualisation of a triangular mesh. * Paul R Brown: [70]Beust Sequence Ruminations. Thoughts on solving an interesting puzzle in Haskell. * >>> David Overton: [71]Constraint Programming in Haskell. David is working on a constraint logic programming system in Haskell. * >>> chaource: [72]Why functional programming is almost dead (and has always been). Interesting argument? Flawed premises? Both? None of the above? You decide! Quotes of the Week * jfredett: I'd code but I'm so drugged up I could only write effective code in perl. * SamB: [SamB] @let forkbomb n = forkbomb (2*n) `par` forkbomb (2*n+1) [lambdabot] Defined. [SamB] > forkbomb 1 -!- lambdabot [n=lambdabo@72.249.126.23] has quit [Remote closed the connection] * vinicius: haskell is macgyver with bananas, barbed wired and envelopes * dons: huh, amazon recommends Neal Stephenson + RWH * Pseudonym: trapped in the IO monad: The lesser known R. Kelly opera * byorgey: Extreme Anger Programming: you are paired with a really dumb partner and after twenty minutes of agony you rip the keyboard from their hands, delete everything they typed, and do it yourself About the Haskell Weekly News New editions are posted to [73]the Haskell mailing list as well as to [74]the Haskell Sequence and [75]Planet Haskell. [76]RSS is also available, and headlines appear on [77]haskell.org. Headlines are available as [78]PDF. To help create new editions of this newsletter, please see the information on [79]how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get [80]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://www.icfpcontest.org/ 3. http://luqui.org/blog/archives/2008/07/05/fun-with-flemish/ 4. http://changelog.complete.org/posts/728-guid.html 5. http://www.lively.com/dr?rid=-4485567674160322075 6. http://www.lively.com/ 7. http://article.gmane.org/gmane.comp.lang.haskell.general/16292 8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uniplate 9. http://araujoluis.blogspot.com/2008/07/ghc-682-stable-himerge-0219-too.html 10. http://article.gmane.org/gmane.comp.lang.haskell.general/16290 11. http://www.haskell.org/haskellwiki/The_Monad.Reader 12. http://article.gmane.org/gmane.comp.lang.haskell.general/16288 13. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hCsound 14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/42047 15. http://article.gmane.org/gmane.comp.lang.haskell.libraries/9470 16. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/GraphSCC 17. http://article.gmane.org/gmane.comp.lang.haskell.cafe/41944 18. http://article.gmane.org/gmane.comp.lang.haskell.cafe/41941 19. http://www.haskell.org/haskellwiki/DDC 20. http://lists.osuosl.org/pipermail/darcs-users/2008-June/012480.html 21. http://darcs.net/ 22. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008 23. http://blog.omega-prime.co.uk/2008/07/05/compiler-plugins-for-ghc-weeks-thre... 24. http://code.haskell.org/hoogle/ 25. http://neilmitchell.blogspot.com/2008/07/gsoc-hoogle-week-6.html 26. http://haskell.org/haskellwiki/Hpysics 27. http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell 28. http://physics-dph.blogspot.com/2008/07/status-report-week-6.html 29. http://physics-dph.blogspot.com/2008/07/double-buffering-demo.html 30. http://www.sivity.net/projects/language.c/wiki/ 31. http://hsbene.blogspot.com/2008/07/analysis-friendly-representation.html 32. http://code.haskell.org/~Saizan/cabal 33. http://hackage.haskell.org/trac/ghc/wiki/GhcApiStatus 34. http://haskell.org/haskellwiki/Library_submissions 35. http://article.gmane.org/gmane.comp.lang.haskell.libraries/9481 36. http://www.haskell.org/~simonmar/papers/ext-exceptions.pdf 37. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/42080 38. http://www.haskell.org//pipermail/haskell-cafe/2008-July/044956.html 39. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/41975 40. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/41936 41. http://article.gmane.org/gmane.comp.lang.haskell.general/16285 42. http://planet.haskell.org/ 43. http://haskell.org/haskellwiki/Blog_articles 44. http://comonad.com/reader/2008/haskell-cafe/ 45. http://fmapfixreturn.wordpress.com/2008/07/09/comonads-in-everyday-life/ 46. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Differentiation/ 47. http://www.realworldhaskell.org/blog/2008/07/08/real-world-haskell-the-book-... 48. http://hsbene.blogspot.com/2008/07/analysis-friendly-representation.html 49. http://okasaki.blogspot.com/2008/07/breadth-first-numbering-algorithm-in.htm... 50. http://jdfrens.blogspot.com/2008/07/pe-problem-2-in-all-languages-part-i.htm... 51. http://physics-dph.blogspot.com/2008/07/double-buffering-demo.html 52. http://physics-dph.blogspot.com/2008/07/quickcheck-puzzle-answer.html 53. http://physics-dph.blogspot.com/2008/07/status-report-week-6.html 54. http://jpmoresmau.blogspot.com/2008/07/handling-errors-in-json-to-haskell.ht... 55. http://braincrater.wordpress.com/2008/07/07/fixed-point-datatypes/ 56. http://araujoluis.blogspot.com/2008/07/ghc-682-stable-himerge-0219-too.html 57. http://www.wellquite.org/anglo_haskell_2008.html 58. http://neilmitchell.blogspot.com/2008/07/gsoc-hoogle-week-6.html 59. http://prog21.dadgum.com/31.html 60. http://blog.omega-prime.co.uk/2008/07/05/compiler-plugins-for-ghc-weeks-thre... 61. http://overtond.blogspot.com/2008/07/haskell-sudoku-solver-using-finite.html 62. http://krysole.net/2008/07/04/haskell-does-concurrency/ 63. http://comonad.com/reader/2008/anamorphism/ 64. http://comonad.com/reader/2008/recursion-schemes/ 65. http://www.realworldhaskell.org/blog/2008/07/03/last-call-for-comments-on-mo... 66. http://comonad.com/reader/2008/msfp/ 67. http://augustss.blogspot.com/2008/07/lost-and-found-if-i-write-108-in.html 68. http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=105 69. http://doc.gold.ac.uk/~ma503am/alex/visualisation-of-a-mesh/ 70. http://mult.ifario.us/p/beust-sequence-ruminations 71. http://overtond.blogspot.com/2008/07/pre.html 72. http://chaource.livejournal.com/34530.html 73. http://www.haskell.org/mailman/listinfo/haskell 74. http://sequence.complete.org/ 75. http://planet.haskell.org/ 76. http://sequence.complete.org/node/feed 77. http://haskell.org/ 78. http://code.haskell.org/~byorgey/code/hwn/archives/20080709.pdf 79. http://haskell.org/haskellwiki/HWN 80. http://code.haskell.org/~byorgey/code/hwn/