Difference between "execution" and "evaluation"
Nobody has claimed this yet.
- Dominant language
- TeX
- Stars
- 221
- Forks
- 813
- Avg merge
- 16h 4m
- Merged PRs (30d)
- 36
Description
[intro.execution] p8 strictly states that
Sequenced before is an asymmetric, transitive, pair-wise relation between evaluations executed by a single thread ([intro.multithread]), which induces a partial order among those evaluations.
In other words, the "sequenced before" is based on two "evaluations". We can note that we use "execute" in the whole of clause [stmt.stmt], such as:
Except as indicated, statements are executed in sequence.
If the condition ([stmt.select]) yields true the first substatement is executed.
and so on.
An unclear point by using "sequenced before" is in [basic.start.dynamic] p5
It is implementation-defined whether the dynamic initialization of a non-block non-inline variable with static storage duration is sequenced before the first statement of main or is deferred.
statements are said to be executed while expressions are said to be evaluated. The wording in [intro.execution] p8 is more and less implies that the "sequenced before" is applied to two expressions, or at least to the language construct that is evaluated. So, the issue arises from the meaning between "execution" and "evaluation".
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the wording in [intro.execution] p8 with [stmt.stmt] and [basic.start.dynamic] p5, especially the uses of “executed,” “evaluated,” and “sequenced before.” Determine whether the standard needs a clarified distinction or revised wording; done means the relationship between execution, evaluation, and sequencing is unambiguous.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100