the following program can't be compiled with ghc 6.4.1

Bulat Ziganshin bulat.ziganshin at
Tue Mar 28 14:51:48 EST 2006

to be fair, it also don't work with Hugs 03 and Hugs 05

data UnboxedMutableArray i e  =  UMA !i !i
type IOUArray i e = UnboxedMutableArray i e
data Dynamic a i e = Dynamic (a i e)
type DynamicIOUArray s = Dynamic IOUArray

if second line substituted with the following

type IOUArray = UnboxedMutableArray

then all compilers are happy. i don't know, may be i should appeal to
Haskell' committee instead of compiler developers (but you are the
same persons, anyway :)

btw, the kinds are trickiest language part, especially in Hugs what
don't supports kind annotations. in one case compiler don't accept
partial type (as here), in other case compiler don't accept
"extraneous" parameters. as net result, making type definition that
will work everywhere is a kind of shamanism

Best regards,
 Bulat                          mailto:Bulat.Ziganshin at

More information about the Haskell-prime mailing list