--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20090629 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. Announcements 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 Haskell. 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 [26]cal3d-examples-0.1. 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. Discussion 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 extensions. 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 useful. * 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 Wikibooks. * 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 Haskell. * 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/ . References 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/ _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell