marlowsd at gmail.com
Sun Feb 14 03:32:15 EST 2010
On 14/02/10 02:21, Lennart Augustsson wrote:
> I agree, I don't think this is a bug. If the grammar actually says
> that this is legal, then I think the grammar is wrong.
As far as I can tell Doitse is correct in that GHC does not implement
the grammar, so it's either a bug in GHC or the grammar. To fix it in
the grammar would no doubt involve quite a bit of refactoring, I can't
immediately see how to do it easily.
> On Sun, Feb 14, 2010 at 1:48 AM, John Launchbury<john at galois.com> wrote:
>> I don't think this is a bug. I do not expect to be able to unfold a definition without some syntactic issues. For example,
>> two = 1+1
>> four = 2 * two
>> but unfolding fails (four = 2 * 1 + 1). In general, we expect to have to parenthesize things when unfolding them.
>> On Feb 13, 2010, at 11:56 AM, Simon Marlow wrote:
>>> On 09/02/10 21:43, S. Doaitse Swierstra wrote:
>>>> One we start discussing syntax again it might be a good occasion to
>>>> reformulate/make more precise a few points.
>>>> The following program is accepted by the Utrecht Haskell Compiler (here
>>>> we took great effort to follow the report closely ;-} instead of
>>>> spending our time on n+k patterns), but not by the GHC and Hugs.
>>>> module Main where
>>>> -- this is a (rather elaborate) definition of the number 1
>>>> one = let x=1 in x
>>>> -- this is a definition of the successor function using section notation
>>>> increment = ( one + )
>>>> -- but if we now unfold the definition of one we get a parser error in GHC
>>>> increment' = ( let x=1 in x + )
>>> Now that *is* an interesting example. I had no idea we had a bug in that area. Seems to me that it ought to be possible to fix it by refactoring the grammar, but I haven't tried yet.
>>> Are there any more of these that you know about?
>>> Haskell-prime mailing list
>>> Haskell-prime at haskell.org
>> Haskell-prime mailing list
>> Haskell-prime at haskell.org
More information about the Haskell-prime