Glasgow Haskell Compiler (GHC) is a state-of-the-art programming suite for Haskell. This software includes an optimising compiler generating good code for a variety of platforms, together with an interactive system for convenient, quick development. The distribution includes space and time profiling facilities, a large collection of libraries, and support for various language extensions, including concurrency, exceptions, and foreign language interfaces (C, whatever).
GHC has two main components: an interactive Haskell interpreter (also known as GHCi), and a batch compiler. In fact, GHC consists of a single program which is just run with different options to provide either the interactive or the batch system.
Haskel is “the” standard lazy functional programming language. Haskell98 is the current version of the language.
Key Features
- Supports the entire Haskell 98 language plus a wide variety of extensions.
- Good support for concurrency and parallelism, including support for Software Transactional Memory (STM).
- Generates fast code, particularly for concurrent programs.
- Extensive optimisation capabilities, including inter-module optimisation.
- Compiles Haskell code either by using an intermediate C compiler (GCC), or by generating native code on some platforms.
- Profiling is supported, both by time/allocation and various kinds of heap profiling.
- A wide range of libraries is included.
- Works on several platforms.
Website: www.haskell.org/ghc
Support: Documentation
Developer: The University Court of the University of Glasgow
License: Glasgow Haskell Compiler License
Glasgow Haskell Compiler is written in Haskell and C. Learn Haskell with our recommended free books and free tutorials. Learn C with our recommended free books and free tutorials.
Related Software
| Compilers | |
|---|---|
| GNU Compiler Collection | The standard compiler for most Unix-like operating systems |
| rustc | Compiler for the Rust programming language |
| AOCC | AMD Optimizing C/C++ Compiler |
| LLVM | Low-Level Virtual Machine (LLVM) compiler for C/C++ |
| ispc | Intel SPMD Program Compiler |
| Babel | JavaScript compiler - use next generation JavaScript |
| Glasgow Haskell Compiler | An optimizing compiler for Haskell, written in Haskell |
| Clang | C Language Family Frontend for LLVM |
| Nuitka | Optimizing Python compiler |
| CHICKEN | Compiler for the Scheme programming language |
| FreeBASIC | 32-bit BASIC compiler |
| Numba | Compiler for Python array and numerical functions |
| Free Pascal | Advanced Pascal compiler for Pascal and Object Pascal |
| NASM | Assembler for the x86 CPU architecture |
| Bigloo | Practical Scheme compiler |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

