Clean
Материал из Википедии — свободной энциклопедии
Семантика: | функциональный |
---|---|
Класс языка: | {{{paradigm}}} |
Тип исполнения: | |
Появился в: | г. |
Автор(ы): | Software Technology Research Group of Radboud University Nijmegen |
Последняя версия: | {{{latest_release_version}}} |
Тестовая версия: | {{{latest_test_version}}} |
Типизация данных: | строгая |
Основные реализации: | Clean |
Диалекты: | |
Создан под влиянием: | Lean |
Оказал влияние на: |
Clean — чистый функциональный язык программирования, поддерживающий основные принципы парадигмы функционального программирования. Для вычислений использует традиционные математические способы вывода значений — унифицированную подстановку и математическую индукцию.
[править] Характеристики языка
- Ленивые вычисления с возможностью отказа от них в целях оптимизации;
- Чистота;
- Использование функций высшего порядка;
- Строгая типизация по модели Хиндли — Милнера (что включает в себя: типы высших порядков, полиморфные типы, абстрактные и алгебраические типы данных, синонимы типов);
- Модульность;
- Возможность использования библиотек ввода/вывода и создания графического интерфейса пользователя.
Синтаксис языка Clean несильно отличается от синтаксиса языка Haskell. Главное отличие этих языков заключается в способе вычислений. Программы на языке Clean являются с точки зрения транслятора этого языка графами, для вычисления которых используется редукция графов.
[править] Ссылки
- Официальный ресурс функционального языка программирования Clean — является рабочим сайтом для создателей языка, где они публикуют новые версии трансляторов, описания и учебники, библиотеки, а также направления исследований и приглашения к участию в них. Интересен проект по совмещению языков Clean и Haskell.
|
|
---|---|
Используемые в разработке | ABAP/4 | Ада | ActionScript | Ассемблеры | AutoIt | Awk | BASIC | C | COBOL | C++ | C# | ColdFusion | D | Delphi | Erlang | Eiffel | Forth | FoxPro | DataFlex | Фортран | Groovy | Haskell | Java | JavaScript | J++ | J# | Icon | Limbo | Лисп | Lua | Objective-C | Оберон | Oz | Паскаль | Perl | PHP | PL/I | Пролог | Руби | Python | Tcl | Scheme | Smalltalk | SQL | Vala | Visual DataFlex | Visual Basic | VB.NET | Visual FoxPro |
Академические | АПЛ | Clean | Curry | Лого | MATLAB | ML | Scala |
IEC61131-3 | Instruction List | ST | FBD | Ladder Diagram | SFC |
Прочие | Алгол | Алгол 68 | Модула-2 | Miranda | Hope |
Эзотерические | INTERCAL | Brainfuck | Befunge | Malbolge | Unlambda |
список всех языков |