--------------------------------------------------------------------------- Haskell Weekly News http://haskell.org/haskellwiki/HWN Issue 50 - November 22, 2006 ---------------------------------------------------------------------------
Welcome to issue 50 of HWN, a weekly newsletter covering developments in the Haskell community. This week a new release of the Haskell XML Toolbox, and details for the inaugural Haskell Hackathon are announced. And the HWN half century of issues is on the board! Announcements * Haskell XML Toolbox 7.0. Uwe Schmidt [1]released a new version of the [2]Haskell XML Toolbox. New in 7.0 is a module for XSLT transformation. The XSLT module implements most of the XSLT standard. The development of the XSLT module is done by Tim Walkenhost in his master thesis, describing the design of the transformer (and the limitations) is included in the distribution. HXT 7.0 works with ghc-6.4 and ghc-6.6. [3]A tutorial is available in the Haskell wiki. 1. http://article.gmane.org/gmane.comp.lang.haskell.general/14487 2. http://www.fh-wedel.de/~si/HXmlToolbox/index.html 3. http://www.haskell.org/haskellwiki/HXT * Hac: Haskell Hackathon 2007. The Hac organisers [4]announced that the inaugural Haskell Hackathon, [5]Hac 2007, will be held at Oxford University Computing Laboratory, January 10-12, 2007. The plan is to hack on Haskell infrastructure, tools, libraries and compilers. To attend please register, and get ready to hack those lambdas! 4. http://article.gmane.org/gmane.comp.lang.haskell.general/14489 5. http://haskell.org/haskellwiki/Hac_2007 * System.FilePath 0.11. Neil Mitchell [6]announced the release of [7]System.FilePath 0.11, a library for manipulating FilePath's correctly on both Posix and Windows. 6. http://article.gmane.org/gmane.comp.lang.haskell.general/14485 7. http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath * Darcs release candidate. Tommy Pettersson [8]announced it's time for a new darcs release candidate, 1.0.9rc2. There will probably be yet another release candidate (rc3) before final 1.0.9. Get testing! 8. http://article.gmane.org/gmane.comp.version-control.darcs.devel/5010 * Safe library 0.1. Neil Mitchell [9]announced the release of [10]Safe library, 0.1. People often have a problem with pattern match errors, and the only helpful message they get is: 'pattern match error'. The Safe library hopes to eliminate some of the frustration this causes by providing versions of these partial functions with more helpful error messages. 9. http://article.gmane.org/gmane.comp.lang.haskell.general/14475 10. http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#safe * LocH, located errors 0.1. Don Stewart [11]announced the release of LocH, a small Haskell module providing source location-specific error messages and debugging strings for Haskell code. It uses the compiler-expanded 'assert' token, rather than cpp or m4, to provide a lightweight approach to generating source locations. No preprocessor is required. More information is available at [12]the LocH site, including [13]API documentation. 11. http://article.gmane.org/gmane.comp.lang.haskell.general/14475 12. http://www.cse.unsw.edu.au/~dons/loch.html 13. http://www.cse.unsw.edu.au/~dons/loch/Debug-Trace-Location.html * Starting your own Haskell project. Jason Dagit and Don Stewart [14]expanded on the document describing how best to [15]set up a new Haskell project, leading to the creation of [16]mkcabal,a new tool for setting up cabalised Haskell projects. 14. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16689/focus=16689 15. http://haskell.org/haskellwiki/How_to_write_a_Haskell_program 16. http://article.gmane.org/gmane.comp.lang.haskell.cabal.devel/269 Haskell' This section covers the [17]Haskell' standardisation process. * [18]Defaults * [19]Pattern guards and where clauses 17. http://hackage.haskell.org/trac/haskell-prime 18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1907/focus=1907 19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1904/focus=1904 Libraries This week's proposals and extensions to the [20]standard libraries. * [21]Add parsing (and some other changes) to the time package 20. http://haskell.org/haskellwiki/Library_submissions 21. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5706 Discussion * New Arrows tutorial. Tim Newsham [22]wrote a small arrows tutorial, and is looking for feedback. 22. http://www.thenewsh.com/~newsham/x/arrow.txt * Yhc.Core backends for Haskell/Javascript/C. Neil Mitchell [23]asked about the direction the Yhc Core backends should take. 23. http://article.gmane.org/gmane.comp.lang.haskell.yhc/460 * The Burrows Wheeler Transformation. Jon Fairbairn [24]proposed a game to find the most elegant implementation of the Burrows Wheeler transformation and its inverse. 24. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16650/focus=16650 * More fusion. Claus Reinke [25]described a method for avoiding the O(n) overhead of cons in strict ByteStrings. Some alternative strategies were also suggested. 25. http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/11267/focus=11267 * Extending TypeEq: topEq for types. Nicolas Frisby [26]described a solution to an interesting type problem using TypeEq, Oleg followed up with an alternate solution 26. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16638/focus=16638 * Debugging by the rules. Don Stewart [27]described an idea to use rewrite rules to change mysterious failing functions to more useful variants. More details on using rewrite rules for various ticks have been [28]collected on the wiki. 27. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16577/focus=16577 28. http://www.haskell.org/haskellwiki/Playing_by_the_rules * Generalising zip. Jason Dagit [29]wondered about a generalisation of zip to encode functions like isPrefixOf 29. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16626/focus=16626 * Heterogeneous collections. Valentin Gjorgjioski [30]asked about techniques for heterogeneous data in Haskell. Several solutions were suggested, and a [31]new wiki page collects the details. 30. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16653/focus=16653 31. http://haskell.org/haskellwiki/Heterogenous_collections Blog noise [32]Haskell news from the blogosphere. * [33]The Maybe type in Java * [34]Erlang User Conference * [35]The Missing LINQ * [36]APLAS 06 * [37]The New Lambda Expressions Feature in C# 3.0 * [38]Edit Graphs * [39]A search engine (core) written in Haskell * [40]Vim indentation mode for Haskell * [41]Haskell Transactional Cache * [42]Haskell support added to Google Code Search * [43]The type system of ECMA Eiffel (modelled in Haskell) * [44]Diff in Haskell * [45]Computers were invented to keep track of boring things * [46]Lazy lists as iterators * [47]Library use in the Common Lisp community * [48]Local and global side effects with monad transformers * [49]Eratosthenes sieve * [50]Lazy streams for Lua * [51]Language design * [52]Overlap function in Haskell for rectangles 32. http://planet.haskell.org/ 33. http://blog.tmorris.net/maybe-in-java 34. http://www.process-one.net/index.php/en/comments/erlang_user_conference_2006/ 35. http://eamon.nerbonne.org/2006/11/gwc-missing-linq.html 36. http://blog.tmorris.net/aplas-06/ 37. http://www.developer.com/net/csharp/article.php/3598381 38. http://alangloria.blogspot.com/2006/11/edit-graphs-im-currently-hacking.html 39. http://haskell-web.blogspot.com/2006/11/search-engine-written-in-haskell.html 40. http://koweycode.blogspot.com/2006/11/haskell-vim-indentation.html 41. http://haskell-web.blogspot.com/2006/11/transactional-cache-for-haskell.html 42. http://groups.google.com/group/Google-Code-Search/browse_thread/thread/a1f83fae9d771c29/8ad7cd89b262ee28#8ad7cd89b262ee28 43. http://teameiffel.blogspot.com/2006/11/type-system-of-ecma-eiffel.html 44. http://alangloria.blogspot.com/2006/11/okay.html 45. http://dynamic.ropine.com/yesh/article/computers-were-invented-to-keep-track-of-boring-things 46. http://community.livejournal.com/evan_tech/206250.html 47. http://sigkill.dk/blog/archives/240-Library-use-in-the-Common-Lisp-community.html 48. http://sigfpe.blogspot.com/2006/09/local-and-global-side-effects-with.html 49. http://kenta.blogspot.com/2006/11/eratosthenes-sieve.html 50. http://salimma.livejournal.com/72850.html 51. http://jlouisramblings.blogspot.com/2006/11/on-language-design.html 52. http://sancho-ex.livejournal.com/7056.html Quotes of the Week * Larry Wall: People who succeed in brushing up on Haskell do so by brushing up lazily. * xerox: [dons] then again, bots themselves are simple. [xerox] '...they are just a morphism in the category of IRC channels together with an endomapping ...' * Dave Love: Presumably people with the taste to program in Haskell will use Emacs anyway. * Baughn: I know I always have trouble explaining what the weather is like without involving foldr somehow. * Korollary: Darcs is free of chemical toxins of big pharma. It's made using all natural herbs and other woo. It's good for you. Cheers. * Pseudonym: A 'newbie', in Haskell, is someone who hasn't yet implemented a compiler. They've only written a monad tutorial. * astrolabe: I guess missile launching would have to be in IO * dons: Java's type system is unsuitable for young children, the elderly or infirm of constitution * earthy: The Haskell standard Prelude is ... a treasure trove. But it does require breaking your mind and reassembling the pieces to unlock the trove. * emu: Hijack the stack and take this compiler to Fun-land! * norpan: The comonad of the No monad is the Yes monad? * robreim: I'm in your base hacking all your lambdas * shapr: I was chatting with someone who writes Haskell and at some point they said they're not an academic, and I said that too. And then there was what I perceived to be a small disbelieving silence... * simonpj: Maybe if I had an Oleg implant I could express all this in the type system * skew: [On the subject of strictness] There is a sequet incantation. * ski: Please talk to your son or daughter about parametric polymorphism * wadler: The way we can tell it's C# instead of Haskell is because it's nine lines instead of two. Code Watch * Wed Nov 8 09:14:52 PST 2006. Alexey Rodriguez. [53]Addition of PAPI to the RTS. [54]PAPI is a library that supports use of the performance counters built into most CPUs for measuring things like cache misses and branch mispredictions. Alexey Rodriguez has added support for PAPI to the RTS, so we can take measurements of any of the CPU performance counters during the run of a Haskell program, and we even separate out results for the GC from results for the mutator. 53. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/17864 54. http://icl.cs.utk.edu/papi/ About the Haskell Weekly News Each week, new editions are posted to [55]the Haskell mailing list as well as to [56]the Haskell Sequence and [57]Planet Haskell. [58]RSS is also available, and headlines appear on [59]haskell.org. Headlines are available as PDF. The Haskell Weekly News is also [60]available in Spanish translation. To help create new editions of this newsletter, please see the [61]contributing information. Send stories to dons at cse.unsw.edu.au. The darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn 55. http://www.haskell.org/mailman/listinfo/haskell 56. http://sequence.complete.org/ 57. http://planet.haskell.org/ 58. http://sequence.complete.org/node/feed 59. http://haskell.org/ 60. http://haskell.org/haskellwiki/HWN/es 61. http://haskell.org/haskellwiki/HWN _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell