WikiDer > Клэр (язык программирования)
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Парадигма | мультипарадигма: функциональный, объектно-ориентированный (на основе классов), обработка правил, отражающий |
---|---|
Разработано | Ив Казо |
Впервые появился | 1994 |
Стабильный выпуск | 3.3.46 / 17 февраля 2009 г. |
Печатная дисциплина | сильный, обе статический и динамичный |
Операционные системы | Кроссплатформенность |
Лицензия | Разрешающая лицензия свободных программ |
Расширения имени файла | .cl |
Интернет сайт | www |
Основной реализации | |
Клэр (эталонная реализация), WebClaire | |
Под влиянием | |
Болтовня, SETL, OPS5, Лисп, ML, C, ЛОР, ЛАВР |
Клэр это высокий уровень функциональный и объектно-ориентированный язык программирования с обработка правил способности. Он был разработан Ив Казо в Буиг'e-Lab, и окончательное определение получила в 2004 году.
Клэр обеспечивает:
- простая объектная система с параметрический классы и методы
- полиморфный и параметрический функциональное программирование
- правила производства вызваны События
- версионные снимки состояния всей системы или любой части, поддерживающие откат и легкое исследование поисковые пространства
- явные отношения между сущностями; например, два объекта могут быть объявлены противоположными друг другу
- первый класс наборы с удобным синтаксис для программирования на основе набора
- выразительная система шрифтов, основанная на наборах, позволяющая как второго порядка статический и динамичный набор текста
Клэр эталонная реализация, состоящий из интерпретатора и компилятора, был полностью открыт с выпуском версии 3.3.46 в феврале 2009 года. Другая реализация, WebClaire, коммерчески поддерживается.
Обзор
Клэр язык программирования общего назначения, лучше всего подходит для программное обеспечение требующие сложных моделирование данных, обработка правил или решение проблем. WebClaire добавляет расширения для более полной интеграции с Операционная система и для программирования веб-приложения.
Хотя Claire можно использовать для полных проектов, он разработан для плавной интеграции с C ++ или же Ява: Программы Claire могут включать в себя код C ++ или Java, а код Claire может быть переведен на C ++ или Java для использования в проектах C ++ или Java.
Ключевой набор функций, которые отличает Claire от других языков программирования, был продиктован опытом решения сложных задач оптимизации. Две функции, которых нет в других смешанных функционально-объектно-ориентированных языках, таких как OCaml, Scala и F #, находятся управление версиями и правила производства.
Версии можно рассматривать как стопку снимков некоторой части системы, которые могут быть сделаны большими (для выразительности) или маленькими (для эффективности) по мере необходимости. Разрешение на создание и откат версий возврат, как найдено в логическое программирование, хотя возврат Клэр может охватывать любую определяемую пользователем структуру, а не просто набор логических переменных.
Производственное правило в Claire состоит из события, условия и ответа, которые должны быть оценены, если условие выполнено. Событием может быть любое изменение в слоте объекта или создание экземпляра класса, а ответ сам может инициировать дальнейшие события. Такие производственные правила особенно полезны при описании реактивных алгоритмов, например, для ограничение размножение.
Клэр была создана как преемница LAURE, выразительного, но сложного языка, разработанного Кейсо в 1980-х годах, который объединил множество парадигм. Предполагалось, что Claire будет легче изучить, чем его предшественник, и не будет накладывать дополнительные расходы на производительность по сравнению с C ++; таким образом, это гораздо меньший язык, в котором отсутствуют такие функции, как ограничения и дедуктивный правила и ближе к C по духу и синтаксису. Его основными пользователями в промышленности были Буиг и Фалес группы.
Пример
Функция для вычисления пчисло Фибоначчи:
fib (n: целое число): integer-> (если (n <2) 1else fib (n - 1) + fib (n - 2))
внешняя ссылка
- Официальный веб-сайт
- Последнюю версию Claire и ее документацию можно получить на "языке программирования claire" Yahoo! группа, требующая бесплатной регистрации.
- Документация для Клэр и WebClaire.
- "Введение в язык программирования CLAIRE версии 3.2"Ива Казо и Франсуа Лабурта.
- "CLAIRE: объединение наборов, поиска и правил для улучшения экспресс-алгоритмов[постоянная мертвая ссылка]"Ива Касо, Франсуа-Ксавье Жоссе и Франсуа Лабурта (2002). 26-страничный обзор, предназначенный для академической аудитории, с контрольными показателями.