Fw: Has Oz Come Up in This Forum?
Peter Van Roy
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.
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
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.