Browse thread
Class/prototype-based OO
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | skaller <skaller@u...> |
| Subject: | Re: [Caml-list] Class/prototype-based OO |
On Thu, 2006-08-31 at 10:11 +0900, Jacques Garrigue wrote: > From: Ted Kremenek <kremenek@cs.stanford.edu> > Since this approach does not modify the compiler, or use any unsafe > feature, it does not break abstraction in any way. If you re-read that claim .. you can see that Ocaml is used for something *other* than programming. It is used to *prove* the safety of a technique. Such high level reasoning is only possible because of the rigid adherence to type safety. The difference between Jacques 'Hashtable' for downcasts and system generated RTTI is that the latter would have to be enshrined in the type system, whereas the former, whilst potentially performing the same function if used systematically, exhibits its own typing within the type system. So in fact, as is typical of advanced languages, one could make a claim for the addition of some feature, by demonstrating it can be done already as sugar .. the demonstration then proves safety and inspires the implementation .. and in particular the typing of it. Most interestingly here .. with campl4 as a standard tool you can do quite a bit of such sugaring yourself! > Independently of downcasting, RTTI would also be needed for providing > more information in the debugger. But there seems not to be much > demand for that. I would note it is difficult to judge the utility of a missing feature :) Try to tell someone in the C++ community that C++ is severely constrained because it doesn't have first class lexically scoped functions, variants, or pattern matching .. even if you explain what they are they'll just say "Oh, we can do that this way .. but don't have much call for it". -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net