[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: s-exprs + prototypes

> From: "Anton van Straaten" <anton@appsolutions.com>
> Date: Mon, 23 Jun 2003 03:40:26 -0400
> Steven Shaw wrote:
> > Luca Cardelli argues that "objects are more basic than procedures".
> >
> > http://www.luca.demon.co.uk/Talks.htm#Everything%20is%20an%20Object
> Cardelli also says the following in a related document, "A Theory of
> Objects", available on the same page above:
> "Object-oriented languages have tried to incorporate type abstraction,
> polymorphism, and modularization all at once.  As a result, OO languages are
> (generally) a mess.  Much effort has been dedicated to separating these
> notions back again.
> ...
> "Object-oriented languages have been plagued, more than any other kind of
> languages, by confusion and unsoundness."
> Other than these sorts of general statements, which I'm in full agreement
> with, Cardelli's work is some distance from the discussion we've been
> having.  His claim that "objects are more basic" is based on the claim that
> it's easier to implement functions with his object calculus, than it is to
> implement *certain types* of objects with lambda calculi.

As I read it, what Cardelli is claiming is that objects are more basic than
procedures because objects (as his object calculus defines them) can be
extended to handle typed systems (i.e. statically-typed systems), including
typed lambda calculus, whereas it's not possible to go in the other
direction (to synthesize a typed object system out of typed lambda
calculus).  My knowledge of type theory is nowhere near good enough to
assess these claims, but given that they come from Cardelli, I'd take them
seriously.   However, this has nothing to do with our discussion.  We
aren't discussing static typing.