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

Jonathan A Rees jar8@mumble.net
Wed, 17 Oct 2001 22:28:05 -0400


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

   Also, in neither system, nor in any other 
   capability system that I've ever heard of, does one require a capability to 
   access one's own ALU.

Just for the record, in Scheme 48 (which is similar to W7) it's easy
to create an environment without + or any other arithmetic or logical
operators.  In fact, you can create a completely empty environment and
try to run a program in it, in which case it will be impossible for
the program to do anything that is not erroneous.  This is because
Scheme has bland syntax and no reserved words, syntactic or otherwise.
LAMBDA is computationally universal (thanks to Church), so if you
squint hard that's the only capability anyone really needs, but it
needn't be made available.  If you want to allow only primitive
recursion and not while loops, that can be done.  Etc.

(W7 doesn't have this feature because it has reserved words, I
believe.)

I don't know how useful any of this is, but it certainly contributes
to the nit-like nature of this discussion.

By the way, I created a W7-in-Scheme48 server back in August, along
with some documentation for it (http://mumble.net/w7/), and would be
happy to fire it up if anyone wants to give it a try.  I didn't leave
it up because I couldn't think of any good reason for it to exist.
Sorry, I didn't get around to exporting the module system from Scheme
48, so you can't do user-mode confinement and tricks like what I
describe above, but this wouldn't be too difficult to do.

Jonathan