Version française
Home     About     Download     Resources     Contact us    
Browse thread
Class/prototype-based OO
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ 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