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

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

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

Клэр обеспечивает:

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

Обзор

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

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

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

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

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

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

пример

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

fib(n:integer) : integer
-> (if (n < 2) 1
else fib(n - 1) + fib(n - 2))

внешние ссылки