У этого термина существуют и другие значения, см.
Карри.
Curry — встраиваемый язык программирования общего назначения, реализующий две парадигмы декларативного программирования — функциональную и логическую. Назван в честь американского учёного Хаскелла Карри.
Заимствования из функционального программирования — вложенные выражения, функции высших порядков, ленивые вычисления; элементы логического программирования — логические переменные, частичные структуры данных, встроенная система поиска. Среди особенностей — использование техник для параллельных систем, таких как параллельное вычисление выражений с синхронизацией по логическим переменным. Также язык предоставляет дополнительные механизмы по сравнению с чистыми языками программирования: по сравнению с функциональными языками — поиск и вычисления по неполным данным, по сравнению с логическими — более эффективный механизм вычислений благодаря детерминизму и вызову по необходимости для функций.
Существует несколько реализаций язык: в PAKCS (Портлендский университет, Ахенский университет, Университет Киля) Curry-программы компилируются в код на Прологе; реализации KiCS и KiCS2 Университета Киля компилируют программы в код на Haskell; реализация MCC Университета Мюнстера обеспечивает компиляцию в машинный код.
Примечания
Ссылки