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
