Клэр (язык программирования)

редактировать
Клэр
Парадигма мультипарадигма : функциональный, объектно-ориентированный (на основе классов ), обработка правил, отражающий
Разработано
Впервые появился1994 (1994)
Стабильная версия 3.3.46 / 17 февраля 2009 г.; 11 лет назад (17.02.2009)
Дисциплина набора текста сильная, как статическая, так и динамическая
OS Кросс-платформенная
Лицензия Разрешающая лицензия на бесплатное программное обеспечение
Расширения имени файла .cl
Веб-сайтwww.claire-language.com
Основные реализации
Клэр (ссылка реализация ), WebClaire
Под влиянием
Smalltalk, SETL, OPS5, Lisp, ML, C, LORE, LAURE

Клэр - это высокоуровневый функциональный и объектно-ориентированный язык программирования со способностями обработки правил. Он был разработан исследовательской лабораторией e-Lab в Bouygues и получил свое окончательное определение в 2004 году.

Клэр предлагает:

эталонную реализацию Клэр , состоящую из интерпретатора и компилятор был полностью открыт с выходом версии 3.3.46 в феврале 2009 года. Другая реализация, WebClaire, коммерчески поддерживается.

Claire - язык программирования общего назначения, который лучше всего подходит для прикладного программного обеспечения, требующего сложного моделирования данных, обработка правил или решение проблем. WebClaire добавляет расширения для более полной интеграции с операционной системой и для программирования веб-приложений.

Хотя Claire можно использовать для полных проектов, он разработан для плавной интеграции с C ++ или Java : программы Claire могут включать в себя код C ++ или Java, а код Claire может быть переведен на C ++ или Java для использования в проектах C ++ или Java.

Ключевой набор функций, который отличает Claire от других языков программирования, был продиктован опытом решения сложных задач оптимизации. Две функции, которых нет в других смешанных функциональных / объектно-ориентированных языках, таких как OCaml, Scala и F #, - это правила управления версиями и производственные правила.

Версии можно рассматривать как стопку снимков некоторой части системы, которые могут быть сделаны большими (для выразительности) или маленькими (для эффективности) по мере необходимости. Создание и откат версий разрешает отслеживание с возвратом, как это обнаружено в логическом программировании, хотя поиск с возвратом Клэр может охватывать любую определяемую пользователем структуру, а не просто набор логических переменных.

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

Клэр была создана как преемница LAURE, выразительного, но сложного языка, разработанного Кейсо в 1980-х годах, который объединил множество парадигм. Предполагалось, что Claire будет легче изучить, чем его предшественник, и не будет накладывать дополнительные расходы на производительность по сравнению с C ++; Таким образом, это гораздо меньший язык, в котором отсутствуют такие функции, как ограничения и дедуктивные правила, и он ближе к C по духу и синтаксису. Его основными пользователями в промышленности были группы Bouygues и Thales.

Пример

Функция для вычисления n-го числа Фибоначчи:

fib (n: integer): integer ->(if (n < 2) 1 else fib(n - 1) + fib(n - 2))
Внешние ссылки
Последняя правка сделана 2021-05-15 09:38:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте