Glasgow Haskell Compiler
![]() | |
Тип | компілятор відкрите програмне забезпечення вільне та відкрите програмне забезпечення і оптимізувальний компілятор ![]() |
---|---|
Розробник | Університет Глазго ![]() |
Операційна система | Linux, FreeBSD, NetBSD, OpenBSD, Solaris, macOS, Windows і DragonFly BSD ![]() |
Мова програмування | C і Haskell ![]() |
Ліцензія | модифікована ліцензія BSDd[1] ![]() |
Репозиторій | gitlab.haskell.org/ghc/ghc.git |
Вебсайт | haskell.org/ghc/ ![]() |
Glasgow Haskell Compiler (англ. Компілятор мови Haskell з Глазго) — один з найпотужніших і розвинених компіляторів функційної мови програмування Haskell, який розробляє вільна робоча група з численних розробників, зібраних зі всього світу, координована з лабораторії університету Глазго.
Можливості
GHC — компілятор мови Haskell, заснований на ідеології відкритого сирцевого коду. Можливості та особливості:
- Крім власне компілятора, є інтерпретувальне інтерактивне середовище (GHCi).
- Повна підтримка стандарту мови Haskell-2010, додатково підтримується широкий список розширень.
- Автоматичне розпаралелювання виконання програми (без явного використання ниток) у системах з багатоядерними процесорами. Оскільки відсутність побічних ефектів у чистих функціях гарантовано, в будь-якому виконанні функції завжди допускається паралельне обчислення двох різних параметрів — порядок їх обчислення не може вплинути на результат виклику.
- Робота на різноманітних платформах (включно з Windows, багатьма варіантами Unix).
- Великі можливості оптимізації програм, включно з міжмодульною оптимізацією.
- Три варіанти компіляції: безпосередньо в машинні коди цільової архітектури, компіляція через проміжний код мовою C або C--, компіляція під віртуальну машину LLVM.
- Підтримуються різні варіанти профілювання.
Розширення системи типів
- Екзистенційний поліморфізм [Архівовано 22 липня 2014 у Wayback Machine.]
- Поліморфізм вищих порядків [Архівовано 22 липня 2014 у Wayback Machine.]
- Імпредикативний поліморфізм [Архівовано 22 липня 2014 у Wayback Machine.]
- Узагальнені алгебричні типи даних [Архівовано 22 липня 2014 у Wayback Machine.]
- Сімейства типів (індексовані синоніми типів, індексовані типи даних) [Архівовано 7 травня 2013 у Wayback Machine.]
Примітки
Посилання
- Офіційний сайт GHC [Архівовано 20 травня 2021 у Wayback Machine.]
- The Glasgow Haskell Compiler. [Архівовано 30 травня 2017 у Wayback Machine.] The Architecture of Open Source Applications, Volume 2 [Архівовано 30 травня 2017 у Wayback Machine.] , 2012 (англ.)