jesseduffield / jesseduffield/OK
x = x + 1 is confusing and obviously wrong
Open
- Dominant language
- Go
- Stars
- 624
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
Assignments where a given variable appears both on the left and right of the `=` are confusing and wrong. Take `x = x + 1`, there is no value of x such the equality holds. The *mathematically correct* thing to do in such a case is to set `x` to `NO!`. More generally, any assignment where the same variable appears on both sides should set all involved variables to `NO!`.
Incrementing `x` then looks like:
```
// The Value Formerly Known As
let tvfka = fn(a) {
return a;
}
x = 42;
old_x = tvfka(x);
x = old_x + 1;
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.