Автоматное программирование
- 1 year ago
- 0
- 0
Аппликативное программирование — один из видов декларативного программирования , в котором написание программы состоит в систематическом осуществлении применения одного объекта к другому. Результатом такого применения вновь является объект, который может участвовать в применениях как в роли функции , так и в роли аргумента и так далее. Это делает запись программы математически ясной. Тот факт, что функция обозначается выражением, свидетельствует о возможности использования значений-функций — функциональных объектов — на равных правах с прочими объектами, которые можно передавать как аргументы, либо возвращать как результат вычисления других функций.
Модели аппликативного программирования основываются, как правило, на комбинаторной логике или λ-исчислении . В комбинаторной логике единственный метаоператор — аппликация, обеспечивающая применение одного объекта к другому, в λ-исчислении, кроме аппликации, есть метаоператор λ-абстракции, с помощью которого возможно построение функций по выражениям, которые, в свою очередь, можно применять к другим объектам. Таким образом, объекты в аппликативном программировании ведут себя как функциональные сущности, что относит его к функциональной парадигме , однако, в ограниченном смысле, так как имеют место некоторые особенности:
Аппликативный язык программирования — язык программирования , который предназначен для поддержки разработки программ способом получения результата вычисления функции, зависящей от комбинации переменных. Конечный результат достигается последовательным применением функциональных преобразований к данным .
Примерами аппликативных языков программирования служат функциональные языки Лисп и ML . В языке Haskell эта парадигма программирования реализована в виде аппликативного функтора , расширяющего возможности механизма функциональной абстракции высших порядков до многоместной.