Haskell Weekly News: 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 released a new version of the 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. A tutorial is available in the Haskell wiki.
Hac: Haskell Hackathon 2007. The Hac organisers announced that the inaugural Haskell Hackathon, 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!
System.FilePath 0.11. Neil Mitchell announced the release of System.FilePath 0.11, a library for manipulating FilePath's correctly on both Posix and Windows.
Darcs release candidate. Tommy Pettersson 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!
Safe library 0.1. Neil Mitchell announced the release of 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.
LocH, located errors 0.1. Don Stewart 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 the LocH site, including API documentation.
Starting your own Haskell project. Jason Dagit and Don Stewart expanded on the document describing how best to set up a new Haskell project, leading to the creation of mkcabal,a new tool for setting up cabalised Haskell projects.
Haskell'
This section covers the Haskell' standardisation process.Libraries
This week's proposals and extensions to the standard libraries.Discussion
New Arrows tutorial. Tim Newsham wrote a small arrows tutorial, and is looking for feedback.
Yhc.Core backends for Haskell/Javascript/C. Neil Mitchell asked about the direction the Yhc Core backends should take.
The Burrows Wheeler Transformation. Jon Fairbairn proposed a game to find the most elegant implementation of the Burrows Wheeler transformation and its inverse.
More fusion. Claus Reinke described a method for avoiding the O(n) overhead of cons in strict ByteStrings. Some alternative strategies were also suggested.
Extending TypeEq: topEq for types. Nicolas Frisby described a solution to an interesting type problem using TypeEq, Oleg followed up with an alternate solution
Debugging by the rules. Don Stewart 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 collected on the wiki.
Generalising zip. Jason Dagit wondered about a generalisation of zip to encode functions like isPrefixOf
Heterogeneous collections. Valentin Gjorgjioski asked about techniques for heterogeneous data in Haskell. Several solutions were suggested, and a new wiki page collects the details.
Blog noise
Haskell news from the blogosphere.- The Maybe type in Java
- Erlang User Conference
- The Missing LINQ
- APLAS 06
- The New Lambda Expressions Feature in C# 3.0
- Edit Graphs
- A search engine (core) written in Haskell
- Vim indentation mode for Haskell
- Haskell Transactional Cache
- Haskell support added to Google Code Search
- The type system of ECMA Eiffel (modelled in Haskell)
- Diff in Haskell
- Computers were invented to keep track of boring things
- Lazy lists as iterators
- Library use in the Common Lisp community
- Local and global side effects with monad transformers
- Eratosthenes sieve
- Lazy streams for Lua
- Language design
- Overlap function in Haskell for rectangles
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. Addition of PAPI to the RTS. 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.
About the Haskell Weekly News
Each week, new editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.
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 darcs get
http://www.cse.unsw.edu.au/~dons/code/hwn
- Login to post comments