From: skaller <sk...@us...> - 2004-05-29 09:28:40
|
On Sat, 2004-05-29 at 18:12, Bardur Arantsson wrote: > On Sat, May 29, 2004 at 09:53:39AM +0200, Nicolas Cannasse wrote: > I think the suggested OO scheme *is* keeping it simple > (well modulo the necessary upcast, I'm still wondering why > OCaml thinks that it is necessary...) The reason is that Ocaml is quite strict about matching: unlike with generative classes (nominal typing?) where you are chosing between a fixed set of known base types for an upcast, in Ocaml the set of possible 'upcasts' is unbounded. So sometimes, even when you see only one possibility for an upcast, you need to remember that Ocaml isn't infering types in the same order as you do. This problem also exists for polymorphic variants. It is occasionally annoying, but that's it: a bit annoying is a small price for what you get. -- John Skaller, mailto:sk...@us... voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net |