Clean

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Clean
Clean logo.jpg
Семантика:

функциональный

Автор(ы):

Software Technology Research Group of Radboud University Nijmegen

Система типов:

строгая

Основные реализации:

Clean

Испытал влияние:

Lean

Clean — чистый функциональный язык программирования, поддерживающий основные принципы парадигмы функционального программирования. Для вычислений использует традиционные математические способы вывода значений — унифицированную подстановку и математическую индукцию.

Характеристики языка[править | править вики-текст]

Язык Clean во многом похож (в том числе и синтаксически) на язык Haskell. Главным отличием Clean от Haskell является способ взаимодействия с внешним состоянием[en] (т.е. способ ввода/вывода): вместо монад Clean использует систему уникальных типов[en]. Это обеспечивает более высокую эффективность в соответствующих фрагментах кода, т.к. абстрактные структуры данных деструктивно обновляются, а не замещаются.

Транслятор языка Clean использует переписывание[en] и редукцию[en] графов и порождает нативный код относительно высокой эффективности (то обгоняя Haskell, то отставая от него), используя Си в качестве промежуточного языка.

Ссылки[править | править вики-текст]