Code Comments
Programming Forum and web based access to our favorite programming groups.Hello --- Newbie question: why is the term "referential transparency" used? What are the "inner workings" that justify this terminology, in terms of what it is referencing, etc? I mean, I understand the concept, but I am just unable to give a clear explanation as to "why". Thank you, Henry
Post Follow-up to this message> Newbie question: why is the term "referential transparency" used? I'm not 100% sure when the term was first used, but I think it was first used in philosophy, in connection with quotation, reported speech, and "propositional attitudes", eg. belief, doubt, etc. I think it may have been Bertrand Russell who first used the term, but please google, I could be completely wrong. I'm pretty sure that the concept (if not the terminology) is centuries old. A (propositional) context in which a term occurred was said to be referentially opaque if when you substitute a term with the same reference for that occurrence, the truth value of the proposition can change. Think of something like "Fred doubts that the Morning Star is the Evening Star". (MS and ES both names of the planet Venus.) So roughly speaking, referential transparency means you can freely substitute terms with the same reference. I don't know who introduced the term into computer science. Someone who knew some philosophy, no doubt. Peter Hancock
Post Follow-up to this messagePeter G. Hancock <hancock@spamcop.net> wrote in article <oqekqbo1zg.fsf@premise.demon.co.uk > in comp.lang.functional: > I'm not 100% sure when the term was first used, but I think it was > first used in philosophy, in connection with quotation, reported > speech, and "propositional attitudes", eg. belief, doubt, etc. I > think it may have been Bertrand Russell who first used the term, but > please google, I could be completely wrong. I'm pretty sure that the > concept (if not the terminology) is centuries old. I'd also like to know who/what to cite for the terms "referential transparency" and "referential opacity", especially if it is not: Quine, Willard Van Orman. 1960. Word and object. Cambridge: MIT Press. -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig Be it declared and enacted by this present Parliament / That the People of England / are / a Commonwealth and free State / without any King or House of Lords. -- An Act declaring England to be a Commonwealth 1649-05-19 | 355 years | 2004-05-19 http://tinyurl.com/2dqnh
Post Follow-up to this message> I'd also like to know who/what to cite for the terms "referential > transparency" and "referential opacity", especially if it is not: > Quine, Willard Van Orman. 1960. Word and object. Cambridge: MIT Press. I found: http://sources.redhat.com/ml/guile/...8/msg00401.html which has the quote: "I was wrong in believing that the terminology is due to Quine. He explicitly attributes it to Whitehead and Russell, "Principia Mathematica" 2d ed, vol 1 p 665 (1925)." BTW, somewhere else I saw that Quine attributes the concept to Frege. But I (unreliably) recall a long discussion by Geach somewhere which gave me the impression the concept was well-known in medieval philosophy. Peter Hancock
Post Follow-up to this messageChung-chieh Shan <ccshan@post.harvard.edu> writes: > I'd also like to know who/what to cite for the terms "referential > transparency" and "referential opacity", especially if it is not: > > Quine, Willard Van Orman. 1960. Word and object. Cambridge: MIT Press. The paper H. Søndergaard and P. Sestoft. Referential transparency, definiteness and unfoldability. Acta Informatica, 27:505-517, 1990. (Reviewed in Computing Reviews 32(3):144-145, 1991, entry 9103-0154). discussed referential transparency, the origin of the term, and some related concepts. Unfortunately I don't have the paper in electronic form any longer. Peter -- Department of Natural Sciences http://www.dina.kvl.dk/~sestoft/ Royal Veterinary and Agricultural University * Tel +45 3528 2334 Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark * Fax +45 3528 2350
Post Follow-up to this message> Newbie question: why is the term "referential transparency" used? > What are the "inner workings" that justify this terminology, in > terms of what it is referencing, etc? > I mean, I understand the concept, but I am just unable to give a > clear explanation as to "why". It's a not-very-accurate application of a term coined by W.V.O. Quine in his paper "Reference and Modality", from his collection _From a Logical Point of View_ (though Quine attributed the guts of the idea to Russell in _Principia Mathematica_ volume 1 appendix C). Your bafflement is entirely justified. Quine's concept has bugger-all resemblance to the pirated version found in the functional programming literature. (I think David Turner was responsible for that). ========> Email to "j-c" at this site; email to "bogus" will bounce <======= = Jack Campin: 11 Third Street, Newtongrange, Midlothian EH22 4PU; 0131 660476 0 <http://www.purr.demon.co.uk/purrhome.html> food intolerance data & recipes , Mac logic fonts, Scots traditional music files and CD-ROMs of Scottish music .
Post Follow-up to this messagehancock@spamcop.net (Peter G. Hancock) wrote in message news:<oqzn8xydt5.fsf@premise.demon. co.uk>... > > > There's a lot of scope for argument about what the "reference" of an > > I hope that's of some help. It's a hugely subtle topic. > > Someone somewhere suggested that it was Landin and/or Strachey who > first introduced the (philosophical) terminology into computer > science. Jack Campin suggests David Turner. Who knows. > > Peter Hancock Yes, very interesting that was, indeed. Thank you and to all other for the references (the ones that we could see) :-) Henry
Post Follow-up to this message"EL Henry" <synthespian@uol.com.br> wrote in > > Yes, very interesting that was, indeed. Thank you and to all other > for the references (the ones that we could see) :-) > Transparency pops up in distributed relational database jargon, not sure if referential is one, essentially meaning that the operations of the database are indistinguishable from a single server. i.e. the extra protocols are transp arent, you don't see them. Herc
Post Follow-up to this message> Newbie question: why is the term "referential transparency" used? > What are the "inner workings" that justify this terminology, in terms > of what it is referencing, etc? There's a lot of scope for argument about what the "reference" of an expression might be in functional programming, but one answer which might secure some agreement is that the reference of an expression is the value to which it reduces (supposing that it does reduce to something). Now one might distinguish between those contexts C[...] (expressions with a hole) where the value of C[e] depends only on the value of e, and those where it depends on something more. For example, some people think that one should not evaluate inside a lambda-expression (even if what one evaluates is closed); under such a regime, lambda-expressions are already in normal form (even if they contain occurrences of closed expressions that can be evaluated). Those people might summarise their position by saying that a context \x->C[...] is not referentially transparent. When the notion of referential transparency/opacity was first introduced, (I think that) the only contexts C[...] one worried about were propositional contexts, where the reference of C[e] (a proposition) was supposed to be a truth value. So one talked about substitutions of expressions with equal reference (denotation) that could be made "salva veritate" (preserving truth value). Contexts that are not referentially transparent might be said to depend on more than the reference of their subexpressions, and one might ask what that might be. One answer might be that they depend on the meaning or "sense" of the expression, where the "sense" of the expression is the means by which the reference is determined. I hope that's of some help. It's a hugely subtle topic. Someone somewhere suggested that it was Landin and/or Strachey who first introduced the (philosophical) terminology into computer science. Jack Campin suggests David Turner. Who knows. Peter Hancock
Post Follow-up to this messageI wrote: > The paper > > H. Søndergaard and P. Sestoft. Referential transparency, definiteness > and unfoldability. Acta Informatica, 27:505-517, 1990. > (Reviewed in Computing Reviews 32(3):144-145, 1991, entry 9103-0154). > > discussed referential transparency, the origin of the term, and some > related concepts. > > Unfortunately I don't have the paper in electronic form any longer. Thanks to John Atwood at HP I now have a scanned copy on my homepage: http://www.dina.kvl.dk/~sestoft/pap...Sestoft1990.pdf Peter -- Department of Natural Sciences http://www.dina.kvl.dk/~sestoft/ Royal Veterinary and Agricultural University * Tel +45 3528 2334 Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark * Fax +45 3528 2350
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.