GHC
GHC (англ. Glasgow Haskell Compiler) — один из самых мощных и развитых компиляторов функционального языка программирования Haskell, разрабатывается под координацией лаборатории университета Глазго; ключевые разработчики — Саймон Пейтон-Джонс и Саймон Марлоу (англ. Simon Marlow). Свободно распространяется под модифицированной лицензией BSD; работает на большинстве популярных Unix-систем и входит в большинство дистрибутивов Linux, есть версии для Windows и macOS. Обеспечивается три варианта компиляции: непосредственно в машинные коды целевой архитектуры, компиляция через промежуточный код на языке Си или C--, компиляция под LLVM. Сам компилятор в основном написан на Haskell, но среда исполнения для скомпилированных программ реализована на Си и C--. Кроме компилятора, включает интерпретирующую REPL-среду GHCi. Обеспечивает полную поддержку стандартов Haskell-98 и Haskell-2010, дополнительно реализован широкий список расширений. Одна из особенностей — параллельное исполнение программ, для которой не требуется явное выделение потоков выполнения (лишь требуется явная аннотация от разработчика программы). Реализованы значительные возможности по оптимизации программ, включая межмодульную оптимизацию. Поддерживаются различные варианты профилирования. Некоторые поддерживаемые расширения системы типов: экзистенциальный полиморфизм, полиморфизм высших порядков, импредикативный полиморфизм, обобщённые алгебраические типы данных, семейства типов (индексированные синонимы типов, индексированные типы данных). ПримечанияЛитература
Ссылки |