LINUX.ORG.RU

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

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

Есть определённая граница между лиспом и не-лиспом. Она проходит по тому месту, где возникает инфиксная запись и приоритет операторов. Например, писать формулы в лиспе просто очень и очень неудобно, при всём моём опыте мне это не понравилось. Формулы должны быть похожи на формулы, потому что их мы будем сверять с бумажкой.

А вот когда я стал писать сложные логические выражения, то внезапно обнаружил, что они лучше читаются, когда они написаны на лиспе, потому что раскрыта структура логического выражения.

длинное_выражение1 or длинное_выражение2 and длинное_выражение3

Когда попадает and, читатель ломается и приходится перезапускать свой встроенный в голову парсер заново. А в лисповой записи этой проблемы нет, потому что операции стоят впереди и приоритеты уже расписаны:

(or
  длинное_выражение1 
  (and длинное_выражение2 длинное_выражение3))

Это объективно проще распарсить. Можно конечно

длинное_выражение1 or (длинное_выражение2 and длинное_выражение3)

Но это всё равно хуже лиспа, потому что мы не знаем, для какой операции скобка - для логической или там плюс какой-нибудь.

Исправление den73, :

Есть определённая граница между лиспом и не-лиспом. Она проходит по тому месту, где возникает инфиксная запись и приоритет операторов. Например, писать формулы в лиспе просто очень и очень неудобно, при всём моём опыте мне это не понравилось. Формулы должны быть похожи на формулы.

А вот когда я стал писать сложные логические выражения, то внезапно обнаружил, что они лучше читаются, когда они написаны на лиспе, потому что их мы будем сверять с бумажкой.

длинное_выражение1 or длинное_выражение2 and длинное_выражение3

Когда попадает and, читатель ломается и приходится перезапускать свой встроенный в голову парсер заново. А в лисповой записи этой проблемы нет, потому что операции стоят впереди и приоритеты уже расписаны:

(or
  длинное_выражение1 
  (and длинное_выражение2 длинное_выражение3))

Это объективно проще распарсить. Можно конечно

длинное_выражение1 or (длинное_выражение2 and длинное_выражение3)

Но это всё равно хуже лиспа, потому что мы не знаем, для какой операции скобка - для логической или там плюс какой-нибудь.

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

Есть определённая граница между лиспом и не-лиспом. Она проходит по тому месту, где возникает инфиксная запись и приоритет операторов. Например, писать формулы в лиспе просто очень и очень неудобно, при всём моём опыте мне это не понравилось. Формулы должны быть похожи на формулы.

А вот когда я стал писать сложные логические выражения, то внезапно обнаружил, что они лучше читаются, когда в них расставлены скобки, потому что их мы будем сверять с бумажкой.

длинное_выражение1 or длинное_выражение2 and длинное_выражение3

Когда попадает and, читатель ломается и приходится перезапускать свой встроенный в голову парсер заново. А в лисповой записи этой проблемы нет, потому что операции стоят впереди и приоритеты уже расписаны:

(or
  длинное_выражение1 
  (and длинное_выражение2 длинное_выражение3))

Это объективно проще распарсить. Можно конечно

длинное_выражение1 or (длинное_выражение2 and длинное_выражение3)

Но это всё равно хуже лиспа, потому что мы не знаем, для какой операции скобка - для логической или там плюс какой-нибудь.