Re: Fw: Has Oz Come Up in This Forum? Peter Van Roy (pvr@info.ucl.ac.be)
Wed, 26 Jan 2000 09:35:47 +0100

>
> A potentially useful comparison exercise to explore: Since we both have
> small kernel languages, we might want to see what it looks like to implement
> either kernel in the other. This is usually a good way to start comparing
> expressiveness issues. I currently don't see the "constraint-based
> inferencing" as relevant to E's goals (though I'm certainly willing to let
> you try to persuade me). OTOH, the "fault tolerance", if achieved in a way
> consistent with our other goals, would be *extremely* valuable to us.
>
>
> Cheers,
> --MarkM

About the "constraint-based inference", here's an unabashed attempt to persuade you :-). By "constraint-based inference" we actually mean something quite more general, "any kind of complex symbolic calculation". This can range from simple stuff, like manipulating lists, to real complex stuff, like efficient natural language parsing. Manipulating lists is much more cumbersome (and 10x slower) in Java than in Oz. Lists are a simple case; symbolic calculations in Oz scale up to quite sophisticated OR problems.

One of the things that Oz supports efficiently is 'compound values'. Think about it: integers are values, characters are values, but it's very rare to have *values* that are bigger than than one memory word (lists, trees, ...). Certainly not in C++ or Java. In those languages, values are "patched together" with pointers. A compound value, on the other hand, does not change. It can be sent across the network, and the language semantics guarantees it will not change.

Peter