William D Clinger wrote:
1. Denotational semantics, its "least fixpoint" approach,
is the best account we have of meaning, in programming
languages.

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
permutations.


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
ordering.

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.)

-t


_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to