[Python-ideas] "While" suggestion
David Borowitz
borowitz at stanford.edu
Fri Aug 1 19:08:42 CEST 2008
Another good reference is the "as-if" rule in C. It's similar to operational
semantics, but may have enough denotational semantics semantics to be what
you're looking for. Don't know of a canonical reference, but Google is
useful:
http://docs.sun.com/app/docs/doc/819-5265/6n7c29d9f?l=ko&a=view
On Thu, Jul 31, 2008 at 20:00, Terry Reedy <tjreedy at udel.edu> wrote:
>
>
> David Borowitz wrote:
>
>> Precisely: you're talking about two different accepted definitions of
>> semantics:
>> http://en.wikipedia.org/wiki/Formal_semantics_of_programming_languages
>>
>> I'm not going to say one type of formal semantics is better than another,
>> but it's nice when everyone is at least on the same page :)
>>
>
> Thank you for the reference. I see that denotational and operational are
> just the beginning of the semantics of semantics.
>
> In writing about and comparing algorithms, I need a term that is slightly
> in between but closer to operational than merely denotational. I am
> thinking of using 'operationally equivalent' to describe two algorithms that
> are denotationally (functionally) identical and which compute the same
> essential intermediate objects (values) in the same order, while not being
> 'operationally identical' (which would make them the same thing).
>
> Wikipedia refers 'operational equivalence' to 'observational equivalence'.
> Other hits from Google suggest that it have been used variably to mean
> things from operationally identical to merely denotationally (functionally
> identical), but therefore a complete substitute in the users operations.
>
> In the present case, we agree that [genexp] == list(genexp] in the Python
> meaning, denotational and operational, of '==', which is to compare the
> denotational meaning of two expressions (the resulting objects and their
> values). I also claim a bit more: [genexp] could be but does not have to
> be, and in current CPython is not, operationally identical to list(genexp).
> But I do expect that it is operationally equivalent in the sense above.
> The essential objects and operations are the list contents and the list
> that starts empty and grows one reference at a time via append().
>
> Terry Jan Reedy
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>
--
It is better to be quotable than to be honest.
-Tom Stoppard
Borowitz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20080801/035d6e2b/attachment.html>
More information about the Python-ideas
mailing list