refal-5-lambda icon indicating copy to clipboard operation
refal-5-lambda copied to clipboard

Избыточные ^ сделать ошибкой

Open Mazdaywik opened this issue 4 years ago • 2 comments

Знак ^ после имени переменной означает, что это не повторная, а новая переменная, скрывающая ранее описанную с тем же именем. Однако, ошибкой не является использовать знак ^ после переменной, ранее в предложении не встречавшейся. В этом случае нужно выдавать предупреждение.

Mazdaywik avatar Nov 27 '20 07:11 Mazdaywik

А почему бы не сделать это предупреждение ошибкой?

Если сделать ошибкой, то входной язык изменится, сузится, нарушится обратная совместимость. Поэтому просто так нельзя взять и запретить какой-то синтаксис.

Предлагается такая стратегия: версию, помеченную тегом N, всегда можно собрать версиями N−1 (техническое требование, ибо раскрутка) и N+1. Последнее требование новое, оно теперь будет определять политику подобных изменений. При этом, если некоторый синтаксис планируется объявить ошибкой со следующей версии, то в текущей версии должно выдаваться на это предупреждение.

Соответствующие предупреждения будут называться -Wdeprecated.

Mazdaywik avatar Apr 07 '21 04:04 Mazdaywik

Так что, даже если и делать это сообщение ошибкой, то со следующей версии. Сначала оно должно стать предупреждением.

Mazdaywik avatar Apr 07 '21 04:04 Mazdaywik