--------------------------------------------------------------------------- Haskell Weekly News http://haskell.org/haskellwiki/HWN Issue 47 - October 31, 2006 --------------------------------------------------------------------------- Welcome to issue 47 of HWN, a weekly newsletter covering developments in the Haskell community. This week we see a number of community documentation and maintenance efforts, and the appearance of indexed data types in GHC Announcements * Associated data types in GHC. Manuel Chakravarty [1]announced the availability of indexed data types, an extension of our earlier proposal for [2]associated data types, in GHC's development version. Detailed information on where to get the right GHC and how to use indexed types is available from [3]the Haskell wiki. 1. http://article.gmane.org/gmane.comp.lang.haskell.general/14447 2. http://www.cse.unsw.edu.au/~chak/papers/CKPM05.html 3. http://haskell.org/haskellwiki/GHC/Indexed_types * Yhc Bytecode library 0.3. Robert Dockins [4]announced the release of the [5]Yhc Bytecode library, version 0.3. 4. http://article.gmane.org/gmane.comp.lang.haskell.general/14434 5. http://www.eecs.tufts.edu/~rdocki01/yhc-bytecode.html * Haskell Program Coverage. Andy Gill [6]checked the latest version of HPC, with GHC support, into the head GHC branch 6. http://www.galois.com/~andy/ray/hpc.html * Haskell Mersenne Twister. Lennart Augustsson [7]made available his Haskell implementation of the Mersenne Twister random number generator. 7. http://www.augustsson.net/Darcs/MT/ * Haskell-specific Google Search Engine. Don Stewart [8]initialised a Haskell-specific search engine, as part of Google's coop engine system, which seems to do a good job of targeting just Haskell sites, in particular, mailing list items 8. http://www.google.com/coop/cse?cx=015832023690232952875%3Acunmubfghzq * A process for submitting library extensions. The libraries hackers [9]have developed [10]a document describing how to best go about contributing new code to the core Haskell libraries. On a similar note, the GHC team has prepared [11]a page on best practice for GHC submissions. 9. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5368 10. http://haskell.org/haskellwiki/Library_submissions 11. http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions * How to create a Haskell project. Don Stewart and Ian Lynagh [12]prepared some guidelines on starting your own Haskell project. 12. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16164/focus=16164 Haskell' This section covers the [13]Haskell' standardisation process. * [14]Lambda-match vs PMC * [15]Indentation of If-Then-Else * [16]Digit groups 13. http://hackage.haskell.org/trac/haskell-prime 14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1815/focus=1815 15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1791/focus=1791 16. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1763/focus=1781 Discussion * Haskell Quiz/Ruby Quiz. Haskell Hackers [17]have started recording Ruby Quiz solutions on the Haskell wiki. Lots of fun puzzles are available, and its a useful resource if you're learning the language. 17. http://haskell.org/haskellwiki/Haskell_Quiz * Infinite, open, statically constrained HLists. Oleg Kiselyov [18]described heterogeneous sequences that admit infinite sequences and permits post-hoc addition of new elements, even to an already infinite sequence. 18. http://article.gmane.org/gmane.comp.lang.haskell.general/14424 * Lexically scoped type variables: new proposal. Ben Rudiak-Gould [19]made a new proposal for scoped type variables. 19. http://article.gmane.org/gmane.comp.lang.haskell.general/14429 * Simple GADT parser for the eval example. Greg Buchholz [20]sought advice on creating evaluators with GADTs 20. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16178/focus=16178 * Package mounting. Frederik Eaton [21]proposed an alternative [22]design for package mounting extensions to the package system. 21. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5389 22. http://hackage.haskell.org/trac/ghc/wiki/PackageMounting * Function types as instances of Num. Greg Buchholz [23]had an interesting problem using functions as instances of Num 23. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16129/focus=16129 * Yhc Core file generation. Neil Mitchell [24]suggested that it was time to start taking YHC Core output a bit more seriously, and made some proposals. 24. http://thread.gmane.org/gmane.comp.lang.haskell.yhc/397/focus=397 * Parallelism in GHC 6.6 and seq vs. pseq. Simon Marlow [25]noticed that Control.Parallel exports seq when in fact it should probably export pseq. 25. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11093 Jobs * Lectureships in Software Engineering. Jeremy Gibbons [26]announced that applications are invited for three new University Lectureships in Software Engineering, at the University of Oxford. For further information, including full details of the application procedure and selection criteria, see [27]here. 26. http://article.gmane.org/gmane.comp.lang.haskell.general/14445 27. http://www.softeng.ox.ac.uk/jobs/ Blog noise [28]Haskell news from the blogosphere. * [29]Developing Gnome Apps with Glade * [30]The Fun of Functional Infrastructure * [31]Lightweight Threads * [32]Fold diagrams * [33]Haskell and Scheme: Which One and Why? * [34]Scheme Death Knell? * [35]Software Cipher * [36]Algebraic Topology in Haskell * [37]Syntax extension for Monads in Ocaml * [38]The wxhaskell revival * [39]Query Composition using Functional Programming Techniques in C# 3.0 * [40]Practical Haskell? * [41]FP publisher interview * [42]Haskell mentions at the Dynamic Languages Symposium * [43]Phil Wadler (aka Lambda Man) at OOPSLA * [44]Haskell programming * [45]RushCheck, a lightweight random testing tool for Ruby similar to QuickCheck 28. http://planet.haskell.org/ 29. http://j-van-thiel.speedlinq.nl/EddyAhmed/GladeGtk2Hs.html 30. http://blog.syntaxpolice.org/isaac/index.cgi/technology/onInfrastructure.html 31. http://lambda-the-ultimate.org/node/1721#comment-21046 32. http://cale.yi.org/index.php/Fold_Diagrams 33. http://scienceblogs.com/goodmath/2006/10/haskell_and_scheme_which_one_a.php 34. http://theonlywinningmove.blogspot.com/2006/10/scheme-death-knell.html 35. http://mult.ifario.us/articles/2006/10/25/solitaire-cipher-in-haskell 36. http://sigfpe.blogspot.com/2006/08/algebraic-topology-in-haskell.html 37. http://www.cas.mcmaster.ca/~carette/pa_monad/ 38. http://koweycode.blogspot.com/2006/10/wxhaskell-on-darcshaskellorg.html 39. http://blogs.msdn.com/ericwhite/pages/FP-Tutorial.aspx 40. http://lambda-the-ultimate.org/node/1803#comment-21779 41. http://on-ruby.blogspot.com/2006/10/author-interview-joshua-smith-prequel.html 42. http://mark.santaniello.net/archives/272 43. http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2006-10.html#e2006-10-28T19_36_31.htm 44. http://ste.aeschbacher.ch/blog/2006/04/entry1 45. http://rushcheck.rubyforge.org/ Quotes of the Week * Simon Marlow: In fact, you don't need an evil scheduler, an ordinary scheduler will do this. * Conor McBride: My operating hypothesis is that even ordinary schedulers are evil... * Larry Wall: Continuations - if you know what they are - I don't need to explain them. If you don't know what they are - you don't want to know. * Cale: [discussing names for Haskell, after suggesting Sapphire] Diamond: The Hardest Programming Language on Earth * ConorMcBride: So, taking Void to be the colour of the empty bikeshed ... * cjeris: I like how you conveniently gloss over the part where your head explodes. * dons: C++: Creating blub programmers since 1985 * mwc: I can only believe that Java is a conspiracy perpetrated by keyboard manufacturers * Pseudonym: (:[]) looks like a ninja robot pirate monkey * chessguy: We've got satan and beelsebob in here, and talking about unicycling.... this channel is guaranteed to be a bad influence on me now * dons: fold (\water dish -> wash water dish) soapywater dishes * masklinn: Scheme, on the other hand, is dynamically compiled and thus doesn't 'fail early', it fails as late as it can, which produces weird error unless you're into testing. Beginners never are into testing. * Riastradh: Assume that I haven't the faintest idea of what a comonad is, beyond that if a monad goes `voob', then a comonad goes `boov' * Anonymous: It is quite possible that 'the ultimate teaching language' was not actually invented when Steele and Sussman came down from the mountain bearing a spool of 9-track magtape... * sigfpe: How can Haskell not be the programming language that all mathematicians should learn? * Syzygy: > let _'__'_'''_'__'_=2 in _'__'_'''_'__'_ * ihope>: > let _' __ ___ (____:_____) = __ ____ (_' __ ___ _____); _' _ __ [] = __ in _' (+) 0 * Syzygy: one thing that stands out is the relatively low distance between thought expressed in my ordinary day-to-day mathematical discourse, and thought expressed in Haskell code Code Watch * Tue Oct 24 14:29:07 PDT 2006. Andy Gill. Haskell Program Coverage. This large checkin is the new ghc version of Haskell Program Coverage, an expression-level coverage tool for Haskell. You can run the coverage tool with -fhpc at compile time. Main must be compiled with -fhpc. * Tue Oct 24 02:13:57 PDT 2006. Simon Marlow. Split GC.c, and move storage manager into sm/ directory. In preparation for parallel GC, split up the monolithic GC.c file into smaller part About the Haskell Weekly News Each week, new editions are posted to [46]the Haskell mailing list as well as to [47]the Haskell Sequence and [48]Planet Haskell. [49]RSS is also available, and headlines appear on [50]haskell.org. The Haskell Weekly News is also [51]available in Spanish translation. To help create new editions of this newsletter, please see the [52]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 46. http://www.haskell.org/mailman/listinfo/haskell 47. http://sequence.complete.org/ 48. http://planet.haskell.org/ 49. http://sequence.complete.org/node/feed 50. http://haskell.org/ 51. http://haskell.org/haskellwiki/HWN/es 52. http://haskell.org/haskellwiki/HWN