jcouv at microsoft.com
Thu Apr 14 12:12:25 EDT 2005
From: e-lang-bounces at mail.eros-os.org
[mailto:e-lang-bounces at mail.eros-os.org] On Behalf Of Norman Hardy
Sent: Wednesday, April 13, 2005 6:59 PM
To: Discussion of E and other capability languages;
david.nospam.hopwood at blueyonder.co.uk
On Apr 13, 2005, at 5:27 PM, David Hopwood wrote:
> Norman Hardy wrote:
>> See <http://cap-lore.com/Languages/js/S.html> for a note for a
>> that provides abstraction to achieve access control.
>> provides data abstraction thru lexical closure just like E.
> for features not compatible with capability discipline. It seems to
> support dynamically scoped variables -- so don't use those. Also the
> module system depends on globally accessible namespaces; this means
> that there is no way to block access to the standard libraries, which
> were not designed to follow capability discipline.
If you use as your objects what the documentation and tutorials refer
to as "objects"
then the holder of an object reference has direct access to all its
If you use instead a map from string to function, as my example above,
then the holder
of a reference to the map does not have such access.
The pseudo object is merely a bundle of closures.
I don't know the cost of storing and running such code, but the syntax
such an object is short and sweet, somewhat like E.
The resulting pseudo objects are called the same way as the
Unlike Java or C++ if b is an object and m is a method on that object,
to a function and can be thus passed as an argument of type function.
The recipient has no access to other methods on b.
ActionScript affords this protection in their API.
scoping that defeats the map style of object, but then again that
is big and very hard to read.
Imagination consoles us for what we are not, humour for what we are.
e-lang mailing list
e-lang at mail.eros-os.org
More information about the e-lang