On Fri, Jul 27, 2012 at 07:19:40PM +0100, Chris Dornan wrote: > > So a language is referentially transparent if replacing a sub-term with > > another with the same > > denotation doesn't change the overall meaning? > > Isn't this just summarizing the distinguishing characteristic of a > denotational semantics?
Right, so where's the substance here? > My understanding is that RT is about how easy it is to carry out > _syntactical_ transformations of a program that preserve its meaning. > For example, if you can freely and naively inline a function definition > without having to worry too much about context then your PL is deemed > to possess lots of RT-goodness (according to FP propaganda anyway; note > you typically can't freely inline function definitions in a procedural > programming language because the actual arguments to the function may > involve dastardly side effects; even with a strict function-calling > semantics divergence will complicate matters). Ah, but we only think that because of our blinkered world-view. Another way of looking at it is that the denotational semanticists have created a beautiful language to express the meanings of all those ugly languages, and we're programming in it. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
