This one is a straightforward parser bug. The fix is quite easy,
but I can't see a workaround (other than getting source and doing the fix).
I guess the workaround is to leave out the annotation.
So I'm afraid it's just "fixed in the next release".
Incidentally, we're planning to make fairly regular *source* releases.
[Binary releases are considerably more work for us.]
So if you want to keep up to date you might want to have a go at building
from source. A new feature of 2.02 is that there's is comprehensive
documentation of the make-file system and how to build from source.
(fptools/docs/installing.lit). Let us know of things that don't work.
Simon
| (2) Reader error for strict datatypes?
|
| > data Foo = Crunch ! Int ! Int Int
| compiles fine.
| > data Foo = Crunch ! Int Int Int
| seems to compile into
| > data Foo = Crunch ! Int (Int Int)
| Unless the syntax has purposefully changed, is this supposed to be
| the case?
|
| I compiled using the -ddump-rdr to dump the reader output,
| and for the first example I get:
|
| data Foo [type constructor or class]
| = Crunch [data constructor] ! Int [type constructor or class]
| ! Int [type constructor or class] Int [type constructor or class]
|
| for the second I get:
|
| data Foo [type constructor or class]
| = Crunch [data constructor] ! Int [type constructor or class]
| (Int [type constructor or class] Int [type constructor or class])
|
| which of course leads to all sorts of type errors.