Комбинаторы — это просто!: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 589:
задач.
 
 
==Заключение==
 
Рассмотренное в этой статье введение в основы комбинаторной логики
не претендует на целостность изложения, да и невозможно в малой
научно-популярной статье изложить сложную науку о вычислениях, на
которой основана реализация многих функциональных языков
программирования. Поэтому всех заинтересовавшихся читателей можно
отослать к изучению комбинаторной логики и
<math>\lambda</math>-исчисления по учебникам, полноценно описывающим эти
интереснейшие направления логики. В качестве направлений для
дальнейшего изучения можно посоветовать рассмотреть следующие
вопросы:
 
 
#Синтез нового объекта с заданными комбинаторными характеристиками.
#Использование редукции комбинаторов при помощи графов, что позволяет проводить ленивые вычисления, в том числе и потенциально бесконечных структур данных.
#Преобразование <math>n</math>-местных операторных функций в каррированные,позволяющие производить частичные вычисления.
#Типизация комбинаторов, которая позволяет разбить всё множество комбинаторов на некие классы эквивалентности по их типам (сортам).
#Оболочка Каруби &mdash; специальная категория в рамках комбинаторной логики, при помощи которой кодируются все объекты операторных вычислений, включая их типы.
#Выражение при помощи комбинаторов различных систем программирования,в том числе выражение языков Lisp, Haskell и прочих.
#Изучение суперкомбинаторов &mdash; объектов для ленивого вычисления значений некоторых выражений.
#Оптимизация вычислений путём комбинирования параметров &mdash; шаг к построению систем суперкомпиляции.
#Техники проведения синтаксического анализа на функциональных языках программирования.
 
Автор благодарит Антонюка Д. А., который помог написать функции на
языке Haskell для трансформации комбинаторных термов в базис '''S,K,I'''
 
Остаётся отметить, что определения данных и функций, используемых
для преобразования комбинаторов в базис '''S,K,I''', сведены в один
модуль на языке Haskell, который можно получить по запросу у автора
статьи по электронной почте darkus.14@gmail.com.
 
==Примечания==
Строка 595 ⟶ 627 :
#{{Note|LISP}}Например, первый функциональный язык LISP назван так из-за своего назначения &mdash; «'''LIS'''t '''P'''rocessing» &mdash; «обработка списков».
 
[[Категория:Журнал_«Потенциал»]][[Категория:комбинаторная логика]]