Re: Joe-E

[email protected] (David Wagner)
Newsgroups gmane.comp.lang.e.general
Organization University of California, Berkeley
Message-ID <[email protected]>
Rob Meijer wrote:
> wouldn't it be more logical for any 'container' templates to be made
> honorarily transitively Powerless with respect to T ?  That is, a smarter
> validation rather than a richer library ?

Can you explain more what you are proposing?  I don't follow yet...

In Joe-E, collection classes like ImmutableArray and PowerlessArray are
provided by the Joe-E library.  They are exempt from static verification,
and instead are carefully manually vetted.

We can't ever allow creation of an ImmutableArray that contains a
non-Immutable elements, because other code relies upon the property
that every object of type ImmutableArray<T> is guaranteed to be
Immutable, regardless of the type T.  (Reminder: Immutable is a
transitive property.)

We generally can't reuse Java collection classes, because they generally
aren't capability-safe and don't have the properties we need.

Joe-E tries to avoid complex type inference algorithms, because those
can be hard for programmers to predict and because we think there is
value in having programmers explicitly declare the security properties of
their code.  The philosophy in Joe-E is to require programmers to declare
explicitly, and the Joe-E static verifier will check those declarations,
rather than trying to infer things about the code.



P.S. It doesn't affect your point, but: fyi, Immutable and Powerless
are transitive concepts, in Joe-E.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.