Glasgow Haskell Compiler (англ. Компілятор мови Haskell з Глазго) — один з найпотужніших і розвинених компіляторів функційної мови програмування Haskell, який розробляє вільна робоча група з численних розробників, зібраних зі всього світу, координована з лабораторії університету Глазго.
Тип | компілятор відкрите програмне забезпечення вільне та відкрите програмне забезпечення і оптимізувальний компілятор |
---|---|
Розробник | Університет Глазго |
Операційна система | Linux, FreeBSD, NetBSD, OpenBSD, Solaris, macOS, Windows і DragonFly BSD |
Мова програмування | C і Haskell |
Ліцензія | модифікована ліцензія BSDd[1] |
Репозиторій | gitlab.haskell.org/ghc/ghc.git |
Вебсайт | haskell.org/ghc/ |
Можливості
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.]
Примітки
Посилання
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.