[E-Lang] Re: Pet Extensions and such (was: what is good about E?)
Chris Hibbert
hibbert@netcom.com
Wed, 25 Jul 2001 19:52:48 -0700
[I've cut out the copy list. You're all on e-lang.]
I must have done a good job explaining, because you've all made
elaborations of my idea that seem well within the intent. I
particularly like Ping's description of bundle-as-capability, with an
interface for retrieving the contained capabilities.
To respond to the one question that didn't get answered sufficiently
clearly for me:
Ken Kahn wrote:
> I guess that would be the job of the OS to provide nice names
> and descriptions of useful collections of capabilities, right?
That's the main source of these names, and they'd probably build most of
the standard ones. If someone else had enough influence on the desktop,
it might make sense to define another bundle that enables another
application or class of applications. A gaming consortium, or an
E-Commerce consortium might try to do this, and publish their
recommended bundle along with their explanation for why it's
trustworthy. That would allow individual developers to request a
particular bundle of capabilities and refer to the industry group whose
recommendation explains why it's okay.
As Ping said, it's just another capability, and there should be an
interface the user can use to add safe capabilities to the list.
And one thing to add that (again) seems obvious to me, but that the
developers of the Java applet interface missed. (This is much more
obvious in KeyKOS/EROS, but possibly not in E.) One of the capabilities
in many of these bundles is a limited right to write on the disk, or to
execute for some period of time or some slice of the processor, etc.
These are trivial to build in Java, but it's not part of the standard
library.
There should be a LimitedSizeFile class, and a TimeSliceThread class.
If the file creation capability given to an applet only leads to a
requestor that will hand out a limited number of LimitedSizeFiles, then
the applet can't use more than a parameterized amount of disk space. Of
course, the standard applet interface gives full access to instantiation
of any class in the standard library, and they fixed the hole by
limiting the objects that could use access to some system resources,
rather than treating the classes and objects as capabilities.
Chris