Browse thread
[Caml-list] Recursive lists
[
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: | brogoff <brogoff@s...> |
| Subject: | Re: [Caml-list] About Obj (was Recursive lists) |
On Fri, 15 Oct 2004, Alex Baretta wrote: > > On Wed, 13 Oct 2004, Alex Baretta wrote: > > >>You might have noticed that Caml breeders use Obj fairly liberally when > >>it is needed to achieve a higher of abstraction which cannot be modeled > >>in the core language. > > > > > brogoff wrote: > > Good point, but I hope every Caml fan accepts these uses as being neccesary > > compromises of the moment that can one day be eliminated by a stronger core > > language. > > > > -- Brian > > Not necessarily. You certainly don't mean to say that the C FFI is a > necessary compromise to be removed one day? No. It's clear that when you're interfacing to C or any unsafe language that you have to tolerate, well, unsafe features. I am saying that there are places where the core language doesn't allow you to express something which you'd like to express conveniently or at all. A type system example is polymorphic recursion. Of course, you can handle it easier since we got polymorphic methods and recursive mdules and all that, but it is IMO just one of those things you want to be able to do easily. Using Obj for this is repugnant, or at least, aesthetically deficient. A non type system example might be laziness. "lazy" features are added to core ML to make some kinds of programming more convenient. ` > We already have a very strong core language, which is fully type safe. So, the core language should be frozen in its current state? Is marshalling part of the core language? If so, then the core is not fully type safe. I like the fact that the language is undergoing a fairly slow (well, lightning fast by SML standards!) evolution. -- Brian PS: "core" is overloaded in the ML world. I think when a lot of MLers talk about the "core ML" they don't include the module system. When I speak of core Caml, I mean something like Caml Special Light. ML means Modular Language in my lexicon :-) ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners