[cap-talk] Algol-68 and ML terminology (was: Wikipedia: Object-capability model - reference vs. capability? KISS)
Mark S. Miller
markm at cs.jhu.edu
Thu Jan 18 12:34:21 CST 2007
Jonathan S. Shapiro wrote:
> MarkM, Ping: does the use of the term "reference" in the page correspond
> precisely to the use of this term in ML and/or Haskell? It would be very
> nice if it did.
I thought I knew that the answer to this is "no", but earlier
David Hopwood wrote:
>>> I don't find these other types of references confusing (perhaps because
>>> I have a programming language background, and the use of "reference"
>>> here exactly corresponds to the OO language usage).
Charlie wrote:
>> I'm surprised by this, but I'll defer to the language folks. Are
>> there languages other than Algol68
David Hopwood wrote:
> Algol68 terminology uses the term "reference" to mean a cell, although
> Algol68's semantics an be considered as you describe above.
>
>> that use references to integers this way?
>
> Yes, plenty: Smalltalk, the ML family, all Lisps, E, Haskell, etc.
> Once you are used to such languages, you tend to view the semantics
> of all languages in a similar way, even if the mapping is sometimes a
> little forced.
David, your statements above regarding Algol68 and ML surprise me. I thought
in both, "reference" means what "Slot" means in E, "cell" in Oz, or "location"
in the Scheme semantics -- a means for enabling mutability. The first footnote
in my thesis states:
# Those familiar with ML or Algol68 may find our use of the term "reference"
# confusing. By "reference" we mean "object reference" or "protected pointer,"
# i.e., the arrows that one draws when diagramming a data structure to show
# which objects "point at" which other objects. Our "references" have nothing
# to do with enabling mutability.
Am I confused about Algol-68 and ML?
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the cap-talk
mailing list