Русская Википедия:GHC

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка программы GHC (Шаблон:Lang-en) — один из самых мощных и развитых компиляторов функционального языка программирования Haskell, разрабатывается под координацией лаборатории университета Глазго; ключевые разработчики — Саймон Пейтон-Джонс и Шаблон:Нп2. Свободно распространяется под модифицированной лицензией BSD; работает на большинстве популярных Unix-систем и входит в большинство дистрибутивов Linux, есть версии для Windows и macOS.

Обеспечивается три варианта компиляции: непосредственно в машинные коды целевой архитектуры, компиляция через промежуточный код на языке Си или C--, компиляция под LLVM. Сам компилятор в основном написан на Haskell, но среда исполнения для скомпилированных программ реализована на Си и C--. Кроме компилятора, включает интерпретирующую REPL-среду GHCi.

Обеспечивает полную поддержку стандартов Haskell-98 и Haskell-2010, дополнительно реализован широкий список расширений. Одна из особенностей — параллельное исполнение программ, для которой не требуется явное выделение потоков выполнения (лишь требуется явная аннотация от разработчика программы). Реализованы значительные возможности по оптимизации программ, включая межмодульную оптимизацию. Поддерживаются различные варианты профилирования.

Некоторые поддерживаемые расширения системы типов: экзистенциальный полиморфизм, полиморфизм высших порядков, импредикативный полиморфизм, обобщённые алгебраические типы данных, семейства типов (индексированные синонимы типов, индексированные типы данных).

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Трансляторы языка Haskell