Оглавление [Скрыть]
Curry (язык программирования)
-
Основы функционального логического программирования
- Функциональные программы состоят из уравнений или правил для определения значений.
- Вычисления заменяют подвыражения равными до получения значения или нормальной формы.
- Существуют разные порядки вычисления, но результат всегда один и тот же из-за ссылочной прозрачности.
- Определение алгебраических типов данных через конструкторы и сопоставление с шаблоном.
-
Рекурсивные типы данных и операции
- Рекурсивные типы данных позволяют создавать структуры данных с произвольными элементами.
- Операции с рекурсивными типами данных могут быть определены с помощью индуктивных определений.
-
Сужение и недетерминизм
- Сужение связывает переменные с конкретными значениями, проверяя их в определенном порядке.
- Недетерминизм позволяет решать уравнения с неизвестными значениями и генерировать значения.
-
Функциональные паттерны и стратегии
- Функциональные паттерны позволяют выражать сложные сопоставления с шаблонами.
- Curry использует различные стратегии для выполнения программ, включая необходимую стратегию сужения.
-
Рекомендации и ресурсы
- Ссылки на официальные веб-сайты, пакеты программного обеспечения и реализации Curry.
- Список рассылки и домашняя страница Майкла Хануса для дополнительной информации.