Loose type checking in E
Tyler Close
tyler@lfw.org
Mon, 12 Oct 1998 10:16:34 -0700
[Forwarded with permission, and Tyler has now added himself to the list.
--MarkM]
Hi Mark,
We met a couple of weeks ago at a Foresight meeting. I was there with Ping.
I was just thinking about my gripe about no static type checking in E. It
occurs to me now that the runtime checks on method name / # parameters
enables parameratized programming of the kind that C++ templates allow,
without causing the source code explosion that C++ templates create.
You've no doubt already thought of this, but it would be a good thing to
mention the next time some smart ass complains about no static type
checking. It certainly would've shut me up.
I am also still a little hung up on your process style concurrency scheme.
Can one vat make a series of method calls on another vat in an atomic
fashion? If so, how?
I remember that one of the reasons for abandoning multi-threading was to
eliminate wall-banging; however, if you made thread creation a capability,
with a ThreadMaker object, wouldn't you still be able to guarantee
deterministic execution of untrusted code and thus eliminate wall-banging?
I really enjoyed the meeting and learning about E. The more I think about
it, the more slick it seems. I would very much appreciate being put on the
ad hoc mailing list you have for E.
regards,
Tyler