LINUX.ORG.RU

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

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

Синтаксис в лиспе всё, что в нём называется макросы и специальные формы.

Я имел в виду, что в С косинус пишется как функция, а для if ... else сделан оператор с ключевыми словами. А в лиспе и if, и косинус - одинаково пишутся, со скобочками и без ключевых слов.

Так вот вопрос в чём: а почему именно if должен быть словами, а косинус - функцией?

Можно ведь и косинус сделать оператором, и if записать со скобочками. Как-то так можно было в C сделать:

if(условие,выражение,альтернатива)
И этот выбор будет стоять перед каждым разработчиком DSL, если мы сделаем расширяемый язык в котором есть _и_ операторы, _и_ запись в виде функций. Что хуже всего, каждый пользователь должен будет помнить сделанный нами выбор, и я не могу понять, какое мнемоническое правило можно положить в основу, чтобы делать этот выбор всегда автоматически.

Вот какая бездна сейчас вглядывается в меня.

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

Синтаксис в лиспе всё, что в нём называется макросы и специальные формы.

Я имел в виду, что в С косинус пишется как функция, а для if ... else сделан оператор с ключевыми словами. А в лиспе и if, и косинус - одинаково пишутся, со скобочками и без ключевых слов.

Так вот вопрос в чём: а почему именно if должен быть словами, а косинус - функцией?

Можно ведь и косинус сделать оператором, и if записать со скобочками. Как-то так можно было в C сделать:

if(условие,выражение)
И этот выбор будет стоять перед каждым разработчиком DSL, если мы сделаем расширяемый язык в котором есть _и_ операторы, _и_ запись в виде функций. Что хуже всего, каждый пользователь должен будет помнить сделанный нами выбор, и я не могу понять, какое мнемоническое правило можно положить в основу, чтобы делать этот выбор всегда автоматически.

Вот какая бездна сейчас вглядывается в меня.

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

Синтаксис в лиспе всё, что в нём называется макросы и специальные формы.

Я имел в виду, что в С для if спец. синтаксис if (выражение) оператор

А в лиспе, что if, что косинус - одинаково пишется со скобочками. Так вот, почему именно if должен быть словами, а косинус - функцией?

Можно ведь и косинус сделать оператором. А можно и if записать со скобочками. Как-то так можно было в C сделать:

if(условие,выражение)
И этот выбор будет стоять перед каждым разработчиком DSL, если мы сделаем расширяемых язык в котором есть _и_ операторы, _и_ запись в виде функций. Что хуже, каждый пользователь должен будет помнить сделанный нами выбор, и я не могу понять, какое мнемоническое правило можно положить в основу, чтобы делать этот выбор всегда автоматически.

Вот какая бездна сейчас вглядывается в меня.