LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

язык с со статическим приоритетом операторов является ли гомоиконным?
язык с приоритетами операторов, зависящими от типа данных, является ли гомоиконным?

Это затрудняет анализ и транформацию такого кода (поменяем плюс на умножение или двоичный сдвиг где-то там, и уже что-то сломается т.к. с учетом приоритета операций оно считается уже не так, как мы бы хотели чтоб оно считалось, делая такого рода замену), но на факт наличия/отсутствия гомоиконности не влияет. Желательно все в скобки фигачить (s-expression), тогда проблема со всякими приоритетами операций сама собой отпадает (их просто не будет).

Есть и проблемы другого рода, например если (+ a b c d) и с флоатами это будет вычисляться как (+ a (+ b (+ c d))) а с даблами как (+ (+ (+ a b) c) d) то это будет не очень хорошо

Исходная версия SZT, :

язык с со статическим приоритетом операторов является ли гомоиконным?
язык с приоритетами операторов, зависящими от типа данных, является ли гомоиконным?

Это затрудняет анализ и транформацию такого кода (поменяем плюс на умножение или двоичный сдвиг где-то там, и уже что-то сломается), но на факт наличия/отсутствия гомоиконности не влияет. Желательно все в скобки фигачить (s-expression), тогда проблема со всякими приоритетами операций сама собой отпадает (их просто не будет).

Есть и проблемы другого рода, например если (+ a b c d) и с флоатами это будет вычисляться как (+ a (+ b (+ c d))) а с даблами как (+ (+ (+ a b) c) d) то это будет не очень хорошо