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.

Reply via email to