objectionary / eo

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on πœ‘-calculus
https://www.eolang.org
MIT License
1.01k stars 126 forks source link

EOLANG paper has incorrect definitions #3200

Closed levBagryansky closed 3 months ago

levBagryansky commented 4 months ago

paper: https://arxiv.org/abs/2111.13384 I think that definitions of dot notation and decorator are not concise enough. This is definition of dot notation:

Definition 3.4. If π‘₯ is an object and βˆƒ(π‘Ž, 𝑣) ∈ π‘₯, then 𝑣 may
be referenced as π‘₯ .π‘Ž; this referencing mechanism is called
dot notation.
Both void and attached attributes of an object are accessi-
ble using the dot notation

This is definition of decoration:

Definition 3.11. If π‘₯ and 𝑦 are objects and π‘₯ .πœ‘ = 𝑦, then
βˆ€π‘Ž(π‘₯ .π‘Ž = 𝑦.π‘Ž) if π‘Ž βˆ‰ Λ†π‘₯; this means that π‘₯ is decorating 𝑦.
Here, πœ‘ is a special identifier denoting the object, known
as a decoratee, being decorated within the scope of the deco-
rator.
...
It is important to notice that attributes of a decoratee don’t
belong to the scope of its decorator.

The second definition at the same time defines what is decoration and extends the first definition of dot notation. This is bad. because 1) In paper only decorating is bold, so redefinition of dot notation is invisible. 2) In strong theory you do not redefine terms.

May be it is better to define decoration as: If πœ‘ ∈ Λ†π‘₯ and πœ‘ is attached to v, then x is decorator of v, v is decaratee of x. After that to define dot notation: x.u refers to object attached to attribute u, where [u∈x], otherwise x.u means x.πœ‘.u. Notice, that if u does not ∈ x.πœ‘, then x.πœ‘.u means x.πœ‘.πœ‘.u and so on. @yegor256 @maxonfjvipon @c71n93 WDYT

github-actions[bot] commented 4 months ago

@levBagryansky thanks for the report, here is a feedback:

Problems

I would recommend including exact page or section references where the problematic definitions are located in the EOLANG paper.

Please fix the bug report in order it to get resolved faster. Analyzed with gpt-4