[cap-talk] object-oriented-security.org

Stiegler, Marc D marc.d.stiegler at hp.com
Fri Mar 12 13:44:44 PST 2010


Some of these languages are "OO" only because someone bolted on a not-very-good OO system. Ocaml, for example bolted on an OO component to a mighty fine functional language, Caml, which had facilities in it that already worked just fine for building encapsulated object-like structures. I've never used the OO part of Ocaml, but I've used all my OO engineering discipline just fine using the Caml subset.

One of the earliest ocap languages was W7, a small tweak to scheme, definitely not OO.

Matej's Backwater, the ocap derivative of Pict, is, of course, utterly different from the traditional concept of OO.

--marcs 

> -----Original Message-----
> From: cap-talk-bounces at mail.eros-os.org 
> [mailto:cap-talk-bounces at mail.eros-os.org] On Behalf Of Mike Samuel
> Sent: Friday, March 12, 2010 11:48 AM
> To: Kenton Varda
> Cc: General discussions concerning capability systems.
> Subject: Re: [cap-talk] object-oriented-security.org
> 
> 2010/3/12 Kenton Varda <kenton at google.com>:
> > Isn't Perl an OO language these days?
> 
> Most of the basic constructs in perl are pass by value, not 
> pass by reference.
> Pass by reference operators were bolted awkwardly onto the 
> language, but its roots are not.
> 
> Consider
> 
>   sub foo {
>     $_[0] = 'a';  // store into copy
>   }
> 
>   @l = (1, 2, 3)
>   foo(@l);  // pass by value
> 
>   sub bar {
>     ${$_[0]}[0] = 2;  // dereference and store
>   }
> 
>   bar(\@l);  // pass by reference
> 
> > And anyway, you can use OO design in non-OO languages.  And I think 
> > it's fair to say that using capability discipline in any language 
> > implies that you are using OO design, because as Marc's 
> talk yesterday 
> > illustrated, they are really the same thing.
> > On Fri, Mar 12, 2010 at 11:20 AM, Mike Samuel 
> <mikesamuel at gmail.com> wrote:
> >>
> >> 2010/3/12 Kenton Varda <kenton at google.com>:
> >> > On Wed, Mar 10, 2010 at 3:55 AM, Matej Kosik 
> <kosik at fiit.stuba.sk>
> >> > wrote:
> >> >>
> >> >> Kenton Varda wrote:
> >> >>
> >> >> > What do you think?  Please tell me your ideas for how 
> we can use 
> >> >> > this.
> >> >>
> >> >> I think, the term "object-capability language" makes 
> sense and I 
> >> >> do not regard it as a mere hyponym of the term 
> "object-oriented language".
> >> >>
> >> >> For non-object-oriented languages (c.f.
> >> >> http://wiki.erights.org/wiki/Emily)
> >> >
> >> > From the ocaml web site: "Objective Caml is the most popular 
> >> > variant of the Caml language. From a language standpoint, it 
> >> > extends the core Caml language with a fully-fledged 
> object-oriented 
> >> > layer, as well as a powerful module system, all connected by a 
> >> > sound, polymorphic type system featuring type inference."
> >> > So OCaml and Emily are OO languages.  Can you name an 
> ocap language 
> >> > that is not OO?
> >>
> >> caperl?  trusty scheme?
> >>
> >> > _______________________________________________
> >> > cap-talk mailing list
> >> > cap-talk at mail.eros-os.org
> >> > http://www.eros-os.org/mailman/listinfo/cap-talk
> >> >
> >> >
> >> _______________________________________________
> >> cap-talk mailing list
> >> cap-talk at mail.eros-os.org
> >> http://www.eros-os.org/mailman/listinfo/cap-talk
> >
> >
> _______________________________________________
> cap-talk mailing list
> cap-talk at mail.eros-os.org
> http://www.eros-os.org/mailman/listinfo/cap-talk
> 


More information about the cap-talk mailing list