13 Jun
2003
13 Jun
'03
3:16 p.m.
Am Freitag, 13. Juni 2003 17:12 schrieb George Russell:
Keith wrote (snipped)
But George Russell's implementation relied on looking up something in one map with a key obtained from another map. I thought type-safe MRefs should disallow this.
However if you disallow lookup up in one map with a key from another, then Ralf Hinze's solution of putting the value inside the key uses no type extentions and works perfectly well (though is probably not quite what was intended).
Here is the modified version of `update': update :: (Typable b) => FM k -> Key k a -> a -> FM k update (FM bs) (Key k r) b = FM ((k, Dyn r b) : bs)