Re: What is the meaning of an expression?

Jan Ziak <0xe2.0x9a.0x9b@gmail.com>
Wed, 19 Jan 2022 09:17:17 -0800 (PST)

          From comp.compilers

Related articles
[6 earlier articles]
Re: What is the meaning of an expression? matt.timmermans@gmail.com (matt.ti...@gmail.com) (2022-01-15)
Re: What is the meaning of an expression? 0xe2.0x9a.0x9b@gmail.com (Jan Ziak) (2022-01-16)
Re: What is the meaning of an expression? 0xe2.0x9a.0x9b@gmail.com (Jan Ziak) (2022-01-17)
Re: What is the meaning of an expression? 0xe2.0x9a.0x9b@gmail.com (Jan Ziak) (2022-01-18)
Re: What is the meaning of an expression? gah4@u.washington.edu (gah4) (2022-01-18)
Re: What is the meaning of an expression? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2022-01-19)
Re: What is the meaning of an expression? 0xe2.0x9a.0x9b@gmail.com (Jan Ziak) (2022-01-19)
Re: What is the meaning of an expression? christopher.f.clark@compiler-resources.com (Christopher F Clark) (2022-01-19)
Re: What is the meaning of an expression? tkoenig@netcologne.de (Thomas Koenig) (2022-01-19)
Re: What is the meaning of an expression? gah4@u.washington.edu (gah4) (2022-01-19)
Re: What is the meaning of an expression? DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2022-01-20)
Re: What is the meaning of an expression? tkoenig@netcologne.de (Thomas Koenig) (2022-01-22)
Re: What is the meaning of an expression? dave_thompson_2@comcast.net (2022-01-30)
[1 later articles]
| List of all articles for this month |
From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com>
Newsgroups: comp.compilers
Date: Wed, 19 Jan 2022 09:17:17 -0800 (PST)
Organization: Compilers Central
References: <AdgJPKhi/NiNfECvRNaA6+4Wq/M8OQ==> 22-01-052 22-01-060 22-01-066 22-01-067 22-01-068 22-01-069
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="40871"; mail-complaints-to="abuse@iecc.com"
Keywords: semantics
Posted-Date: 19 Jan 2022 14:20:42 EST
In-Reply-To: 22-01-069

On Wednesday, January 19, 2022 at 4:13:36 PM UTC+1, Hans-Peter Diettrich
wrote:
> On 1/19/22 12:18 AM, gah4 wrote:
>
> > So, back to anthropomorphic computers and logical
> > inconsistencies. How good are compilers, especially ones
> > that evaluate constant expressions at compile time, at
> > dealing with logic failure?
> Optimization is a special science. A compiler might evaluate a constant
> expression properly, in the sense that evaluation at runtime might fail
> due to overflows of too narrow types in compiled code.


An analogy: There exist two kinds of compression algorithms: lossy and
lossless. Similarly, there exist two kinds of optimization algorithms. If it
is a lossless optimization algorithm, then any kind of difference between
compile-time evaluation and run-time evaluation is a software bug in the
optimizer. If it is a lossy optimization algorithm, then it should be
sufficiently clearly specified what kind of information is permitted to be
lost during the optimization process.


> > And especially, as the question
> > needs, expressions that don't have a value?
> Aren't these called *statements*?


One could imagine that, as a minimal requirement that has to be fulfilled by
any statement, the "value" of a statement X must include information about
what the next statement is after X is done executing, unless the programmer or
the compiler proves that the statement never terminates by itself.


Back to the original post by Roger L Costello: A problem with both "The
meaning of an expression is its value" and "The semantics of an expression is
the value of the expression" is that some expressions never return a value
because their values aren't computable; we are only able to observe that,
while the expression is being computed/evaluated, it is executing as a
sequence of well-defined steps where each of the steps is known to
evaluate/terminate quickly. If a person adopts the belief that "The
meaning/semantics of an expression is its value" then consequently the person
will later be forced to adopt the belief that it is impossible to know the
meaning of certain kinds of expressions.


-atom


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.