LINUX.ORG.RU

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

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

Опечатка.

То есть надо:

z x:int, y:int : 2*x + y
?

Чисто синтаксически, это ужасно.

А почему нет? Это же всё упрощает.

Я говорю о том, что ты, кажется, не понимаешь, что такое «тип» и «выражение типа».

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

Если язык pure, это не противоречие, а фича. В чистом языке нет ни переменных, ни констант. Есть только функции. a = 1 — объявлена функция a, не принимающая ни одного аргумента. avg a b = (a + b) / 2 — объявлена функция avg с двумя аргументами. avg1 = avg a — объявлена функция avg1, принимающая один аргумент.

Если язык с сайд-эффектами, то в нём в явном виде разделены получение/передача/хранения значения и «применение» значения к аргументам (вызов функции, то бишь). И тут на самом деле вопрос чисто синтаксический, как эти два понятия различать. Как удобно, так и различай.

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

Опечатка.

То есть надо:

z x:int, y:int : 2*x + y
?

Чисто синтаксически, это ужасно.

А почему нет? Это же всё упрощает.

Я говорю о том, что ты, кажется, не понимаешь, что такое «тип» и «выражение типа».

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

Если язык pure, это не противоречие, а фича. В чистом языке нет ни переменных, ни констант. Есть только функции. a = 1 — объявлена функция a, не принимающая ни одного аргумента. avg a b = (a + b) / 2 — объявлена функция avg с двумя аргументами. avg1 = avg a — объявлена фунция avg1, принимающая один аргумент.

Если язык с сайд-эффектами, то в нём в явном виде разделены получение/передача/хранения значения и «применение» значения к аргументам (вызов функции, то бишь). И тут на самом деле вопрос чисто синтаксический, как эти два понятия различать. Как удобно, так и различай.