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