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

Re: Jonathan Rees on OO



   Date: Sun, 16 Dec 2001 01:35:23 -0500 (EST)
   From: Dan Weinreb <dlw@exceloncorp.com>
   CC: paulgraham@yahoo.com, ll1-discuss@ai.mit.edu, jar1@mumble.net
   ...
   I once talked about this at MIT, and someone pointed out that what I was
   asking for was actually a baby version of what some of the symbolic math
   people at MIT were doing.  They wanted a language that could say that
   the definition of a "ring" asserted that addition was associative, etc,
   etc.  (I am using the word "ring" in the context of "abstract algebra",
   as in "group theory", etc.)  Rich Zippel and Carl Hoffman at MIT showed
   me some stuff along these lines that seemed very cool and like a major
   new direction for object-oriented programming.  Unfortunately I don't
   have any citations for this....

You must mean:

  @inproceedings{Capsules,
    author={Zippel, Richard E.},
    title={Capsules},
    organization={SIGPLAN},
    booktitle={Proc. Symposium on Programming Language Issues
	       in Software Systems},
    month=jun, year=1983, pages={166--169},
  }

I don't think this idea ever much advanced beyond this paper.  In addition
to having a richer notion of "interface" [*], the Capsules system was
supposed to be able to choose among possible implementations for an object
based on the programmer's declared requirements.

Richer interfaces that include constraints seem like a great idea.  I'm
pretty sure I've seen them re-invented a few times since then.  But I don't
know of any "real-world" language that supports anything like it.

- Alan

[*] I think Zippel actually used the word "protocol" rather than
"interface".