Glasgow Haskell Compiler

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.]

Примітки

  1. The Glasgow Haskell Compiler License

Посилання

  • Офіційний сайт 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 (англ.)