Okay, this didn't work out. Let's try again.
Are examples out there that show how naive reasoning about languages
(not individual programs) is a major problem?
The canonical example is to combine polymorphic let without
restrictions with naive generalizations for references, exceptions,
continuations, and channels.
For what else have we needed *any* form of semantics to dispute naive
I for one would find it really neat if we had such a list of examples
on-line for use in courses at all levels and program officers at
funding agencies, too.
Any other examples than the one above? One is a random hit, two is
a coincidence, three makes a pattern. -- Matthias