
29 Aug
2005
29 Aug
'05
7:57 p.m.
Benjamin Franksen wrote:
append :: (IArray UArray e, MArray (STUArray s) e (ST s)) => ...
I believe there must be an MArray instance for every s for this to work. If I understand types correctly (which isn't all that certain), the correct context would be
append :: (IArray UArray e, forall s . MArray (STUArray s) e (ST s)) => ...
which is illegal. A workaround might be possible by introducing a new class which doesn't need to mention s in the context. I can't see the solution, though. Udo. -- Uncle Ed's Rule of Thumb: Never use your thumb for a rule. You'll either hit it with a hammer or get a splinter in it.