On 14 feb 2010, at 09:32, Simon Marlow wrote:
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.
This is indeed not easy, and probably one more situation where some
extra text has to exclude this since I actually think it should not be
accepted from a language design point of view. How would you explain
that
weird :: Int -> Int
weird = (if True then 3 else 5+)
is perfectly correct Haskell?
Doaitse
Cheers,
Simon
On Sun, Feb 14, 2010 at 1:48 AM, John Launchbury<j...@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.
John
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?
Cheers,
Simon
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime