Re: Proposal: fix simple pattern binding and declaration group

2011-07-01 Thread Malcolm Wallace
Once you guys have reached consensus on appropriate revised wording for this issue, I'll happily apply the changes to the Haskell 2012 Report as a bugfix. Regards, Malcolm ___ Haskell-prime mailing list Haskell-prime@haskell.org

RE: Proposal: fix simple pattern binding and declaration group

2011-06-27 Thread Paterson, Ross
For example, section 3.13 ends with the note: case x of { (a,_) | let b = not a in b :: Bool - a } ... Programmers are advised, therefore, to avoid guards that end with a type signature. I would support changing a type signature to an expression type signature in this note

Re: Proposal: fix simple pattern binding and declaration group

2011-06-27 Thread dm-list-haskell-prime
At Mon, 27 Jun 2011 15:02:33 +0100, Paterson, Ross wrote: There is no a priori reason why b should depend on a in a pair of bindings such as these: a = const (\x - x) b b = const (a :: Int - Int) (a :: Bool - Bool) There is: section 3.16 says that in an expression type

Proposal: fix simple pattern binding and declaration group

2011-06-26 Thread dm-list-haskell-prime
The Haskell 2010 report contains ambiguous and sometimes contradictory definitions of the terms simple pattern binding and declaration group. The confusion is compounded by the phrasing of the monomorphism restriction, which is carried over from the Haskell98 report in which a different

RE: Proposal: fix simple pattern binding and declaration group

2011-06-26 Thread Paterson, Ross
A recent thread on the haskell cafe mailing list summarizes the problem: http://www.haskell.org/pipermail/haskell-cafe/2011-June/093488.html To resolve this confusion, I propose applying the following changes to the Haskell 2010 report for the next revision of the language: I think

Re: Proposal: fix simple pattern binding and declaration group

2011-06-26 Thread dm-list-haskell-prime
At Mon, 27 Jun 2011 00:06:09 +0100, Paterson, Ross wrote: I don't believe the definition of depends in Section 4.5.1 needs to change. The Report consistently uses expression type signature for the expression and type signature for the declaration, so it is clear that the latter is meant