Peter Van Roy wrote:
By "secure" ("sécurisée") I mean that it is impossible to break
the encapsulation of a data abstraction from within the language.
CLU allows the user to define abstract data types that have this property.
Of course, this does not imply anything particular regarding the
cryptographic security of the language's implementation!
Ah, this is what I'd call a "memory safe language with unbreakable
encapsulation". Smalltalk, many Lisps, Java, and the memory-safe subset of ML
qualify as well. In fact, most of the languages on your diagram qualify.
However, in all of these, the square root routine still executes with all of
the user's authority -- it can delete all user's files if it wishes. In safe
languages, we control the access the outside world has to the internals of an
object. In object-capability languages, we also control the access objects
have to the outside world.
Since safety+encapsulation is what you meant, then yes, I think
object-capabilities are a separate paradigm and deserve their own category. My
suggestion: relabel the current "sécurisée" box, and substitute Gedanken or W7
for CLU.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users