Лисп/Функции: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
Нет описания правки
Строка 5:
<source lang=lisp>(plus 2 2)</source>
 
В чистом функциональном лиспе<ref>Являющемся (являющемся строгим подмножеством любого из диалектов</ref>) функции не должны обладать [[w:Побочный_эффект_(программирование)|побочным эффектом]], то есть изменять значения переменных с нелокальным состоянием. В противном случае, при нескольких вызовах одной функции могут быть получены разные значения, что запутывает любую сложную программную систему, и чего стремится избежать [[w:функциональное_программирование|функциональное_программированиефункциональное программирование]].
 
Определение функции основано на [[w:Лямбда_исчисление|лямда-исчислении]]. Исходный вариант записи лямда-выражения, предложенный его автором [[w:Алонзо Чёрч|Чёрчем]], выглядит как