Haskell Weekly News: 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
Associated data types in GHC. Manuel Chakravarty announced the availability of indexed data types, an extension of our earlier proposal for 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 the Haskell wiki.
Haskell Program Coverage. Andy Gill checked the latest version of HPC, with GHC support, into the head GHC branch
Haskell Mersenne Twister. Lennart Augustsson made available his Haskell implementation of the Mersenne Twister random number generator.
Haskell-specific Google Search Engine. Don Stewart 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
A process for submitting library extensions. The libraries hackers have developed 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 a page on best practice for GHC submissions.
How to create a Haskell project. Don Stewart and Ian Lynagh prepared some guidelines on starting your own Haskell project.
Haskell'This section covers the Haskell' standardisation process.
Haskell Quiz/Ruby Quiz. Haskell Hackers 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.
Infinite, open, statically constrained HLists. Oleg Kiselyov described heterogeneous sequences that admit infinite sequences and permits post-hoc addition of new elements, even to an already infinite sequence.
Lexically scoped type variables: new proposal. Ben Rudiak-Gould made a new proposal for scoped type variables.
Simple GADT parser for the eval example. Greg Buchholz sought advice on creating evaluators with GADTs
Function types as instances of Num. Greg Buchholz had an interesting problem using functions as instances of Num
Yhc Core file generation. Neil Mitchell suggested that it was time to start taking YHC Core output a bit more seriously, and made some proposals.
Parallelism in GHC 6.6 and seq vs. pseq. Simon Marlow noticed that Control.Parallel exports seq when in fact it should probably export pseq.
Lectureships in Software Engineering. Jeremy Gibbons 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 here.
Blog noiseHaskell news from the blogosphere.
- Developing Gnome Apps with Glade
- The Fun of Functional Infrastructure
- Lightweight Threads
- Fold diagrams
- Haskell and Scheme: Which One and Why?
- Scheme Death Knell?
- Software Cipher
- Algebraic Topology in Haskell
- Syntax extension for Monads in Ocaml
- The wxhaskell revival
- Query Composition using Functional Programming Techniques in C# 3.0
- Practical Haskell?
- FP publisher interview
- Haskell mentions at the Dynamic Languages Symposium
- Phil Wadler (aka Lambda Man) at OOPSLA
- Haskell programming
- RushCheck, a lightweight random testing tool for Ruby similar to QuickCheck
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
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
The Haskell Weekly News is also available in Spanish translation.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to
dons at cse.unsw.edu.au. The
darcs repository is available at