[r6rs-discuss] Re: operational or denotational semantics?
lord at emf.net
Sun Feb 25 22:58:46 EST 2007
William D Clinger wrote:
>> 1. Denotational semantics, its "least fixpoint" approach,
>> is the best account we have of meaning, in programming
> Not too many people would agree with that unqualified
> statement. Denotational and least fixpoint semantics
> may be the best accounts for some purposes, but SFAIK
> (and I used to know quite a bit about this) they don't
> work very well for languages with non-flat domains (e.g.
> higher order functions) and nondeterministic semantics.
Part of why the approach is good is that, in its accounts, it does
a good job of pointing out what we know we don't know, and
what we don't know if we can know, and other Rumsfeldian
> In other words, they don't work very well for Scheme.
In what sense?
> To simplify the technical problem only slightly, it's
> hard to define an adequate ordering relation that
> won't conflate the possible results x and y with all
> possible results that lie between x and y in the
Is that a bug or a feature? Perhaps we should think more about
a distinction between "portable interpretations [with reliable,
operational effect]" and a larger class of "reasonable interpretations
[which characterize an implementor's/innovators degrees of freedom
and a programmer's list of cautions and opportunities]"
> You can work around that somewhat by using operational
> denotations, but that approach tends to have all of
> the disadvantages and none of the advantages of using
> an operational approach. That is why the editors
> asked Robby Findler and Jacob Matthews to write an
> operational semantics for R6RS, replacing the
> denotational semantics of previous reports.
Yes, well, at least I'm not picking on Cowan :-)
> As for the observably sequential functions, they
> form a proper subspace of the continuous function
> domains that are normally used in denotational
> semantics. They exclude things like parallel or,
> which have to do with the failure of the obvious
> denotational semantics for deterministic Lisp-like
> languages to be fully abstract. Robby and Matthias
> have been using observably sequential functions in
> their research, and may have some results or
> speculation that might bear on the problem; you'd
> have to ask them, as I have just told you almost
> all I know about observably sequential functions.
At first glance, that comment speaks poorly of the internal process
of the editors. (I do not mean the limits of your knowledge on that
particular topic -- I mean the dominance of some arbitrary ideas
that seems to emerge from the process for dubious reasons.)
(Disclosure: I'm 100% "speculation" in all of the conclusions I'm
suggesting in this thread. I do not mean to be claiming some new
fundamental results -- only to "problematize" some apparently
unquestioned assumptions in the draft that, pragmatically, cause
me to give up on R6RS, on its current course, being a language
I would want to call Scheme.)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the r6rs-discuss