--------------------------------------------------------------------------- Haskell Weekly News http://haskell.org/haskellwiki/HWN Issue 49 - November 14, 2006 --------------------------------------------------------------------------- Welcome to issue 49 of HWN, a weekly newsletter covering developments in the Haskell community. This week we see the announcement of a Haskell to Javascript compiler project, and the overhaul of GHC's typeclass machinery is complete. Announcements * Compiling Haskell to Javascript: YCR2JS. Dimitry Golubovsky [1]announced Ycr2js, a sub-project within the [2]York Haskell Compiler (Yhc) project. It is aimed to create a tool to convert an arbitrary Haskell program into Javascript which in turn may be executed in any Web browser. With great amount of help from the Yhc Team, the converter has been integrated into the Yhc project, and initial stage of coding and development has been completed. [3]More documentation. 1. http://article.gmane.org/gmane.comp.lang.haskell.general/14471 2. http://darcs.haskell.org/yhc 3. http://haskell.org/haskellwiki/Yhc/Javascript * System.FilePath 0.10. Neil Mitchell [4]announced System.FilePath 0.10, which hopefully is pretty close to final. [5]This library manipulates FilePath's correctly on both Posix and Windows. 4. http://article.gmane.org/gmane.comp.lang.haskell.general/14467 5. http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath * Major typeclass overhaul. Simon Peyton-Jones [6]mentioned that for some time he has been promising an overhaul of GHC's type inference machinery to fix the interactions between type classes and GADTs. This overhaul has now been completed, and user-visible changes are summarised, including: GHC's type inference becomes complete, the restriction that every constraint in a type signature must mention at least one of the quantified type variables is lifted, dictionaries are packaged in data constructors and the proper interaction between GADTs and type classes is now respected. 6. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11192 * Implementing the lambda calculus. Lennart Augustsson [7]wrote about implementing interpreters for the lambda-calculus in Haskell, to [8]experiment with different implementation methods. 7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/16490 8. http://darcs.augustsson.net/Darcs/Lambda/ * Great language shootout: reloaded. Don Stewart [9]mentioned that now [10]GHC 6.6 is available on the shootout machines, the time has come to improve the existing [11]language shootout entries. Improvements can be posted to the [12]wiki for review. 9. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16454/focus=16454 10. http://haskell.org/ghc 11. http://shootout.alioth.debian.org/ 12. http://www.haskell.org/haskellwiki/Great_language_shootout Haskell' This section covers the [13]Haskell' standardisation process. * [14]Overloading string literals * [15]Annotation systems 13. http://hackage.haskell.org/trac/haskell-prime 14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1882/focus=1882 15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1889/focus=1889 Libraries This week's proposals and extensions to the [16]standard libraries. * [17]Adding Kleisli composition to Control.Monad * [18]Add ranged sets * [19]Add unsafeCoerce 16. http://haskell.org/haskellwiki/Library_submissions 17. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5640/focus=5640 18. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5635/focus=5635 19. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5611/focus=5611 Discussion * Choosing a Haskell GUI library. Bulat Ziganshin [20]asked for advice on which Haskell gui library to use. Several suggestions were made. 20. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16497/focus=16497 Conference roundup Asian Symposium on Programming Languages and Systems (APLAS 2006) * Type Processing by Constraint Reasoning. Peter Stuckey. [21]Paper. * Principal Type Inference for GHC-Style Multi-Parameter Type Classes. Martin Sulzmann, Tom Schrijvers and Peter J Stuckey. [22]Paper. * Automatic Testing of Higher Order Functions. Pieter Koopman and Rinus Plasmeijer. [23]Paper. 21. http://www.cs.mu.oz.au/~pjs/papers/aplas06i.pdf 22. http://www.comp.nus.edu.sg/~sulzmann/publications/ghc-mptc-inf.ps 23. http://www.st.cs.ru.nl/papers/2006/koop2006-TestingOfHigherOrderFunctionsAPLAS.pdf Jobs * Research position in spatial cognition (Haskell-related). Till Mossakowski [24]announced the availability of a Doctoral Research Assistant / Postdoctoral Researcher position at the Universität Bremen, concerned with classification and formalization of qualitative spatial calculi, relations among these calculi, spatial ontologies, and route graphs. [25]More information. 24. http://article.gmane.org/gmane.comp.lang.haskell.general/14469 25. http://www.sfbtr8.uni-bremen.de/i4.html Blog noise [26]Haskell news from the blogosphere. * [27]Getting real with Haskell * [28]A Simple RPN Calculator in Haskell * [29]One more grunt trying to learn Haskell * [30]Testing Telecoms Software with Quviq QuickCheck * [31]Quviq QuickCheck: A new automated testing tool * [32]My first Haskell adventure game! 26. http://planet.haskell.org/ 27. http://therning.org/magnus/archives/219 28. http://jcreigh.blogspot.com/2006/11/simple-rpn-calculator-in-haskell.html 29. http://monad.carnalreason.org/wordpress/?p=4 30. http://lambda-the-ultimate.org/node/1827 31. http://blog.lab49.com/?p=703 32. http://jpmoresmau.blogspot.com/2006/11/my-first-haskell-adventure-game.html Quotes of the Week * dylan: I remember being introduced to lambdas (in perl) from the programming perl, 2nd edition book. I used them heavily ever since... like some kind of cocaine addiction. * jdunck: What's your safeword? * sketerpot: With very strict typing, you need an *unsafe*word. * Binkley: Can you represent 'more moronic than Slashdot' with a 32-bit integer? * Robert Dockins: A Turing-complete type-checker isn't enough! Our work is not complete until the parser is a universal machine as well! * dons: Disable the type checker in GHC for 6 months and we'd have 5 Haskell debuggers by the end of it. * lennart: System Verilog is one of the worst 'designs' I've ever seen. So I bet it will be popular * lispy: The biggest reason most developers I know don't fix a bug is because they don't know it exists yet * monochrom: Time flies like an arrow. Fruit flies like a banana. Syntax rules like a macro * robreim: [on the new #haskell lojban channel] Great, now we've got to start an IRC channel for lojban-speaking, Haskell-coding anarchists * syntaxfree: Yes, Wadlerman: Prince of Funktions Code Watch * 2006-11-09 17:01:33 GMT. Claus Reinke. [33]Syntax patch for lambda-match. 33. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/17645 * 2006-11-06 21:27:30 GMT. Lennart Kolmodin. [34]New ghc-pkg option 'check'. A patch for ghc-pkg show broken packages (due to missing dependencies) with a new command 'check', and also indicate broken packages when using the command 'list'. 34. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/17656 * 2006-11-10 13:43:26 GMT. Simon Peyton Jones. [35]Use implication constraints to improve type inference. 35. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/17665 * 2006-11-13 09:36:19 GMT. Simon Peyton Jones. [36]Add literal-shift rewrite rules. 36. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/17705 About the Haskell Weekly News Each week, new editions are posted to [37]the Haskell mailing list as well as to [38]the Haskell Sequence and [39]Planet Haskell. [40]RSS is also available, and headlines appear on [41]haskell.org. The Haskell Weekly News is also [42]available in Spanish translation. To help create new editions of this newsletter, please see the [43]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 37. http://www.haskell.org/mailman/listinfo/haskell 38. http://sequence.complete.org/ 39. http://planet.haskell.org/ 40. http://sequence.complete.org/node/feed 41. http://haskell.org/ 42. http://haskell.org/haskellwiki/HWN/es 43. http://haskell.org/haskellwiki/HWN