Jul 20, 2023

Compiler for the functional language Haskell

The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell. Highlights

  • Supports the entire Haskell 2010 language plus a wide variety of extensions.
  • Has particularly good support for concurrency and parallelism, including support for Software Transactional Memory STM.
  • Generates fast code, particularly for concurrent programs.
  • Works on several platforms including FreeBSD, Windows, Mac, Linux, most varieties of Unix, and several different processor architectures.
  • Has extensive optimisation capabilities, including inter-module optimisation.
  • Compiles Haskell code either directly to native code or using LLVM as a back-end. It can also generate C code as an intermediate target for porting to new platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs.
  • Profiling is supported, both by time/allocation and various kinds of heap profiling.
  • Comes with several libraries, and thousands more are available on Hackage.

Checkout these related ports:
  • Zig - Language designed for robustness, optimality, and maintainability
  • Zephir - Zephir is a transpiled language used for creating C-extensions for PHP
  • Ypsilon - Scheme implementation for real-time applications
  • Yorick - Interpreted language for scientific simulations
  • Yap - High-performance Prolog compiler
  • Yap-devel - High-performance Prolog compiler
  • Yabasic - Yet another Basic for Unix and Windows
  • Voc - Vishap Oberon Compiler for Oberon-2
  • Vala - Programming language and compiler that converts Vala code into C code
  • V8 - Open source JavaScript engine by Google
  • V8-beta - Open source JavaScript engine by Google
  • V - V Programming Language
  • Urweb - Ultimate host for embedded domain-specific languages
  • Ucc - C Compiler Which Implements the ANSI C89 Standard
  • Twelf - Meta-logical framework for deductive systems