[Haskell-cafe] Denotational semantics for the lay man.
Gregg Reynolds
dev at mobileink.com
Mon Jan 17 22:22:10 CET 2011
On Mon, Jan 17, 2011 at 12:55 PM, David Sankel <camior at gmail.com> wrote:
> Hello All,
>
> I've recently had the opportunity to explain in prose what denotational
> semantics are to a person unfamiliar with it. I was trying to get across the
> concept of distilling the essence out of some problem domain. I wasn't able
> to get the idea across so I'm looking for some simple ways to explain it.
>
> Does anyone know of a way to explain what's the meaning and objective of
> "distilling the essence" without introducing more jargon. One thing that
> comes to mind is how Newton's equations for gravity were a distillation of
> the essence of the way things fall.
>
A stick figure as an iconic image of a person serves as a symbol of
"person"; i.e. it denotes person. It works because of the parts and their
arrangement. Ditto for mathematical expressions: the whole is equal to the
sum of its parts (and the way they are arranged.) The individual parts
(e.g. the symbol '3') are not iconic, but the way the whole system works
corresponds exactly with the way we imagine mathematical objects work.
Google around for "correspondence theory of truth" and you might find some
useful material.
It might be useful to introduce Platonism (see wikipedia.) Also try boiling
it down to compositionality, substitutability, and equality.
It might also help to draw a contrast with what is not denotational.
Denotational semantics depends essentially on the fiction of univocality,
namely that every symbol has one delimited meaning: it means what it means,
and nothing else. But in fact univocality is not possible even in theory;
you cannot circumscribe the the proliferation of meanings. A simple
example: 2+3 denotes (the same thing as) 5; it may also be taken to denote
a computation that yields 5. But it does not denote the energy consumed in
carrying out that computation. A horribly inefficient algorithm may have
the same denotation as a very efficient one. Another way of putting it is
that denotation is about extensionality to the exclusion of intensional
meanings. Going beyond extensionality is where Category Theory enters the
picture.
HTH
-Gregg Reynolds
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110117/91c1220d/attachment.htm>
More information about the Haskell-Cafe
mailing list