Re: writing / status teams - call for volunteers

2006-09-28 Thread Andres Loeh
Would anyone else like to volunteer to write a section of the report for specific proposals below? In == #74: add some kind of concurrency: SM, HN, IJ #35: add ForeignFunctionInterface: MC, SM #49: add multi parameter type classes: MS #60: add RankNTypes or Rank2Types: AL #57:

Pattern guards

2006-09-28 Thread Yitzchak Gale
I would like to suggest a correction to ticket #56, Pattern Guards. It is easy to show that every expression written using pattern guards can also be written in Haskell 98 in a way that is essentially equivalent in simplicity. (Proof below.) In my opinion, the Haskell 98 version below is more

Re: Pattern guards

2006-09-28 Thread Ross Paterson
On Thu, Sep 28, 2006 at 04:40:30PM +0300, Yitzchak Gale wrote: Now given any function binding using pattern guards: funlhs | qual11, qual12, ..., qual1n = exp1 | qual21, qual22, ..., qual2n = exp2 ... we translate the function binding into Haskell 98 as: funlhs = runExit $ do

Re: Pattern guards

2006-09-28 Thread Conor McBride
Hi Yitzchak Gale wrote: I would like to suggest a correction to ticket #56, Pattern Guards. It is easy to show that every expression written using pattern guards can also be written in Haskell 98 in a way that is essentially equivalent in simplicity. (Proof below.) Whether or not your

Re: Pattern guards

2006-09-28 Thread Iavor Diatchki
Hello, I think that pattern guards are a nice generalization of ordinary guards and they should be added to the language. Of course, as you point out, we can encode them using the Maybe monad, but the same is true for nested patterns, and I don't think that they should be removed from Haskell.

Re: Haskell' Status Report

2006-09-28 Thread Stefan Monnier
Ravi Nanavati has very helpfully put together a status report for the Haskell Prime process. Please see this link, or read the pasted text below: http://hackage.haskell.org/trac/haskell-prime/wiki/Status' This wiki is really neat. I do wish there was some information in it about the

Re: Haskell' Status Report

2006-09-28 Thread Ravi Nanavati
The rule-of-thumb (only violated in a few instances) has been that each proposal needs to be implemented in some Haskell compiler to be eligible for consideration as part of Haskell'. The pages that describe each proposal in detail (including Pros and Cons) also generally include comments

Re[2]: Pattern guards

2006-09-28 Thread Bulat Ziganshin
Hello Conor, Thursday, September 28, 2006, 10:30:46 PM, you wrote: gcd x y | compare x y - LT = gcd x (y - x) GT = gcd (x - y) y gcd x _ = x or some such. I wish I could think of a better example without too much context, but such a thing escapes me for the moment. In general,

Re: Re[2]: Pattern guards

2006-09-28 Thread Iavor Diatchki
Hello, This particular example we can do with pattern guards (although it seems that a simple 'case' is more appropriate for this example) On 9/28/06, Bulat Ziganshin [EMAIL PROTECTED] wrote: Hello Conor, Thursday, September 28, 2006, 10:30:46 PM, you wrote: gcd x y | compare x y - LT

Re: Pattern guards

2006-09-28 Thread David Roundy
On Fri, Sep 29, 2006 at 02:59:49AM +0300, Yitzchak Gale wrote: Iavor Diatchki wrote: I think that the benefit of adding pattern guards is... it provides a concise notation Not significantly more concise than existing notation. That's just not true. If all your pattern guards happen to