On Wed, Jul 2, 2014 at 3:37 PM, Jonathan S. Shapiro <[email protected]> wrote:
> Oh dear no. Capabilities and OO seem to have been convergent evolution...

I didn't mean to say they've always been connected. But didn't Mark
Miller retroactively declare earlier capability work to be
object-oriented? :)

> What I find really interesting is just how small and subtle the
> core difference is,

Yeah, that's what I meant by conflating them. What I'm saying is that
the fundamental difference between types and capabilities might not be
so huge either, given a much better understanding of the interplay
between static and dynamic type checking than we currently have.

> The earliest capability systems were tied to hardware mechanisms, which can
> be viewed as typed at some very low level.

You mean hardware checks, which would be like low-level dynamic
typing, or something like the hard-wired difference between registers
and memory, which would be like low-level static typing? In either
case, I don't think that's what I'm getting at.

>> So than no direct access to private fields of another object of the
>> same class. Gotcha.
>
> You're making an assumption that the entire notion of public and private
> fields isn't hopelessly boogered... :-)

You're right, I did assume that. :) I think I can even figure out a
translation to existential types, in the style of abstract data types.
protected fields are the part that's boogered.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to