История изменений
Исправление 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)
Но это всё равно хуже лиспа, потому что мы не знаем, для какой операции скобка - для логической или там плюс какой-нибудь.