Much discussion here: <a href="http://www.reddit.com/r/haskell/comments/zgeen/ghc_761_officially_released/" rel="nofollow">http://www.reddit.com/r/haskell/comments/zgeen/ghc_761_offic...</a><p>Highlights:<p>* RTS now supports changing the number of capabilities at runtime<p>* Dataflow based code gen is on<p>* Unboxed tuples (register allocated structs) are now first class<p>* Multi-way if syntax<p>* Lambda case syntax<p>* Type level naturals and strings
Every new GHC release is like a little Christmas morning! The pace of new feature development impresses me.<p>I'm particularly interested in the new type-level literals (which seem like they will make it much less cumbersome to express certain static constraints) and the convenient new syntax for multi-way if expressions (I've long wanted Lisp's `cond` in Haskell) and case analysis on lambda arguments.
Does anyone know how multiple arguments work with lambda-case[1]? Is the solution just using a tuple and manually currying like so (suggested here[2])?<p><pre><code> curry (\case (Nothing,_) -> ...)
</code></pre>
(It seems like this would defeat the purpose of lambda-case for lambdas with more than 2 arguments, and it is awkward even for those with exactly 2 arguments.)<p>[1] <a href="http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/syntax-extns.html#lambda-case" rel="nofollow">http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/synta...</a>
[2] <a href="http://hackage.haskell.org/trac/ghc/wiki/LambdasVsPatternMatching" rel="nofollow">http://hackage.haskell.org/trac/ghc/wiki/LambdasVsPatternMat...</a>