
Thanks to everyone who replied - it looks like this feature is enough
in demand that GHC HQ may want to accept it. I've created a ticket at
http://hackage.haskell.org/trac/ghc/ticket/4359
On 2 October 2010 14:23, Max Bolingbroke
Hi Cafe,
I implemented the proposed Haskell' feature lambda-case/lambda-if [1] during the Haskell Implementors Workshop yesterday for a bit of fun. The patches are online [2, 3].
The feature is demonstrated in this GHCi session:
$ inplace/bin/ghc-stage2 --interactive -XLambdaCase GHCi, version 7.1.20101002: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package ffi-1.0 ... linking ... done. Prelude> (if then "Haskell" else "Cafe") False "Cafe" Prelude> (case of 1 -> "One"; _ -> "Not-one") 1 "One" Prelude> :q
Do you like this feature and think it would be worth incorporating this into GHC? Or is it too specialised to be of use? If there is enough support, I'll create a ticket and see what GHC HQ make of it.
Max
[1] http://hackage.haskell.org/trac/haskell-prime/ticket/41 [2] http://www.omega-prime.co.uk/files/LambdaCase-Testsuite.patch [3] http://www.omega-prime.co.uk/files/LambdaCase-Compiler.patch