ALU capability (was Re: [E-Lang] Authority -- what is its dual?)

Jonathan A Rees jar8@mumble.net
Thu, 18 Oct 2001 09:40:08 -0400


   Date: Wed, 17 Oct 2001 22:00:14 -0700
   From: "Mark S. Miller" <markm@caplet.com>

   In any case, getting back to our original subject, I presume that even with 
   empty environments and empty anything else that may be emptied, that a 
   Scheme program may still "name" any literal data by including the literal 
   representation of that data in the source program.  The reason this doesn't 
   make such programs non-vacuous *in Scheme* is that all the data types which 
   can be written literally in Scheme (numbers, characters, strings, vectors, 
   cons cells) are un-invokable.  Part of what's meant by the oo mantra 
   "everything is an object" is that everything is invokable, and (ideally) 
   that the semantics of anything is only the semantics of invoking it.  A 
   thing has no properties other than the behavior elicited by invocation.  (To 
   my knowledge, only some Actors language and Joule achieve this ideal.  
   Smalltalk and E do not.)

Right, there are no procedure (actor) literals in Scheme.  I think
this is a legacy of Lisp 1.5, but it also might be a good idea.

Regarding the mantra: In a pure message-passing environment, where
sending a message doesn't imply that you're lending resources to the
thing that receives it, "everything is an object" may actually work.
But as I argue in
  http://192.168.2.1/mumble.net/jar/pubs/scheme-of-things/opaque-types.ps
you really need rights amplification, which is strictly NOT OO, if
there is a potential cost to sending a message.  I suspect you need it
for other reasons as well.  Rights amplification is theoretically
equivalent to any feature that allows for passive objects such as
non-actor numbers.

The paper is not written with distributed computing or crypto
sophistication in mind, so some of its arguments are probably wrong or
incomplete.

I would love to argue with you about the viability of OO dogma, by the
way, since I have so many disagreements with it (with the dogma, not
OO -- I like OO where it's helpful).  But I don't see any relevance to
E, so let's do it off of the list.

Jonathan Rees