Curry

У этого термина существуют и другие значения, см. Карри.

Curry

Класс языка |  язык функционального программирования и логический язык программирования[вд]
Появился в |  1995
Разработчик |  Кильский университет
Выпуск |

* 3.6.0 (10 ноября 2023)[1]

Испытал влияние |  Haskell и Пролог
Лицензия |  модифицированная лицензия BSD[вд]
Сайт |  curry-language.org (англ.)

Curry — встраиваемый язык программирования общего назначения, реализующий две парадигмы декларативного программирования — функциональную и логическую. Назван в честь американского учёного Хаскелла Карри.

Заимствования из функционального программирования — вложенные выражения, функции высших порядков, ленивые вычисления; элементы логического программирования — логические переменные, частичные структуры данных, встроенная система поиска. Среди особенностей — использование техник для параллельных систем, таких как параллельное вычисление выражений с синхронизацией по логическим переменным. Также язык предоставляет дополнительные механизмы по сравнению с чистыми языками программирования: по сравнению с функциональными языками — поиск и вычисления по неполным данным, по сравнению с логическими — более эффективный механизм вычислений благодаря детерминизму и вызову по необходимости для функций.

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

## Примечания

[править | править код]

1. ↑ Current release:PAKCS Version 3.6.0 (10/11/23) — 2023.

## Ссылки

[править | править код]

* Язык Curry — небольшой сайт о языке

Языки программирования

* История
* Хронология

* 1C
* Ада
* Алгол
* Ассемблер
* APL
* Бейсик
* Си
* C++
* C#
* D
* Delphi
* Кобол
* Erlang
* F#
* Форт
* Фортран
* Go
* Groovy
* Haskell
* Java
* JavaScript
* Julia
* Kotlin
* Лисп
* Lua
* MATLAB
* Оберон
* Objective-C
* OCaml
* Паскаль
* Perl
* PL/SQL
* PHP
* Python
* Racket
* Ruby
* Rust
* Scala
* UNIX Shell
* Smalltalk
* Swift
* Visual Basic .NET
* Zig