Jump to content

Лиспкит Лисп

Lispkit Lisp — это областью с лексической чисто функциональное подмножество Lisp Pure Lisp »), разработанное как испытательный стенд для концепций функционального программирования . Впервые он был использован для ранних экспериментов с отложенными вычислениями . написанная Машинная реализация SECD, на варианте ALGOL, была опубликована разработчиком Питером Хендерсоном в 1980 году. [1] Компилятор . и виртуальная машина легко переносимы и поэтому могут быть реализованы на многих машинах

Базовый язык

[ редактировать ]

Базовый язык предоставляет только следующие функции, но расширения обсуждаются в книге Хендерсона. [1] за явную поддержку ленивых вычислений и недетерминированного программирования .

атом
данное выражение возвращает True, если его значение является атомарным; Ложь, если нет.
добавлять
заданные два выражения возвращают сумму их числовых значений.
машина
учитывая выражение, значением которого является пара, возвращает первое значение пары.
CDR
учитывая выражение, значением которого является пара, возвращает второе значение пары.
минусы
данные два выражения возвращают пару значений, состоящую из их значений.
div
заданные два выражения возвращают частное их числовых значений.
экв.
данные два выражения возвращают True, если их значения равны; Ложь, если нет.
если
заданные три выражения возвращают значение второго, если значение первого равно True, в противном случае возвращает значение третьего.
лямбда
учитывая список аргументов и выражение, возвращает их как функцию.
позволять
учитывая выражение с объявлениями (как именованные выражения, видимые в выражении), возвращает его значение.
летрек
как и let, за исключением того, что объявленные имена также видны в самих объявлениях.
лек
учитывая два выражения, возвращает True, если значение первого численно меньше или равно значению второго; Ложь, если нет.
мод (или рем)
учитывая два выражения, возвращает модуль (также известный как остаток) их числовых значений.
у меня есть
учитывая два выражения, возвращает произведение их числовых значений.
цитировать
учитывая выражение, возвращает это выражение как значение.
суб
учитывая два выражения, возвращает разницу их числовых значений.

Функции лямбда , let и letrec похожи, но имеют небольшие различия в способах обработки именованных переменных, что делает их полезными по-разному. Lambda определяет и возвращает функцию, let связывает выражения с именами переменных, а letrec по сути аналогичен let, за исключением того, что он позволяет определять рекурсивные функции и значения, например, бесконечные серии.

  1. ^ Jump up to: а б Хендерсон, Питер (1980). Функциональное программирование: применение и реализация . Прентис Холл. ISBN  0-13-331579-7 .

Дальнейшее чтение

[ редактировать ]
  • Хендерсон, Питер; Джонс, Герайнт А.; Джонс, Саймон Б. (1983). Руководство по ЛиспКиту . Компьютерная лаборатория Оксфордского университета. ISBN  0-902928-18-Х .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b15a39d4555fb0d0ca7394c8c3baeb51__1668542400
URL1:https://arc.ask3.ru/arc/aa/b1/51/b15a39d4555fb0d0ca7394c8c3baeb51.html
Заголовок, (Title) документа по адресу, URL1:
Lispkit Lisp - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)