pkg.sopackage field notes

brew / rank 1269

Install ghc with Homebrew

Glorious Glasgow Haskell Compilation System. Version 9.14.1 via Homebrew; verified 2026-07-30.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ghc

provider-native install command

overview

Package summary

Glorious Glasgow Haskell Compilation System

Commands and aliases

  • ghc
  • ghc-9.14.1
  • ghc-pkg
  • ghc-pkg-9.14.1
  • ghci
  • ghci-9.14.1
  • haddock
  • haddock-ghc-9.14.1
  • hp2ps
  • hp2ps-ghc-9.14.1
  • hpc
  • hpc-ghc-9.14.1
  • hsc2hs
  • hsc2hs-ghc-9.14.1
  • runghc
  • runghc-9.14.1
  • runhaskell
  • runhaskell-9.14.1

history

Project history and usage

The Glasgow Haskell Compiler, usually called GHC, is the reference-grade open-source compiler and interactive environment for Haskell. It supplies the `ghc` compiler, the GHCi interpreter, package tools such as `ghc-pkg`, documentation tooling such as Haddock, and runtime-system support for profiling, parallelism, and native-code execution.

Project history

GHC began at the University of Glasgow near the beginning of the 1990s as an academic research project funded by the UK government. Its stated goals were practical as well as academic: make a robust and portable Haskell compiler freely available, provide a modular foundation for compiler research, and learn from real programs.

The compiler evolved into a self-hosted Haskell implementation with three major pieces: the compiler, boot libraries, and the runtime system. The runtime system became central to GHC's identity because it handles garbage collection, scheduling, profiling, exceptions, and the execution machinery linked into compiled Haskell programs.

Adoption history

GHC became the dominant implementation around which the Haskell ecosystem organized. The AOSA chapter by Simon Marlow and Simon Peyton Jones described hundreds of thousands of downloads, thousands of Hackage packages, undergraduate teaching use, and commercial use; the GHC site likewise points users to Hackage libraries, Haskell Language Server, Cabal, Stack, and GHCup.

The Homebrew `ghc` formula packages the general GHC track for macOS users, while separate versioned formulae let projects select older or branch-specific compiler lines. That split mirrors the way Haskell projects often pin compiler versions because language extensions, boot libraries, and package ABI compatibility can matter.

How it is used

Practitioners use `ghc` for batch compilation, `ghci` for interactive development, `runghc` or `runhaskell` for scripts, `ghc-pkg` for package database inspection, and Haddock for API documentation. The user guide presents GHC as one program that can operate as either an interactive interpreter or a batch compiler.

Build tools such as Cabal and Stack commonly invoke GHC rather than requiring users to call every compiler flag by hand. Advanced users still care about GHC flags directly for optimisation, profiling, language extensions, cross-platform builds, and debugging package database or linker issues.

Why package nerds care

GHC is package-manager significant because it is both a compiler and a dependency root for much of the Haskell toolchain. Installing the formula affects not only `ghc`, but also GHCi, boot libraries, package metadata, Haddock, profiling tools, and the versioned executable names that allow scripts to target a specific compiler.

The project also embodies a classic language-runtime packaging problem: the compiler is written in Haskell and needs an existing GHC to build, while libraries compiled by one branch may need rebuilding for another. Versioned formulae, GHCup metadata, and project-level pinning all grew around those realities.

Timeline

  • 1990: Haskell was created as a common lazy functional language for research.
  • Early 1990s: GHC began as a Glasgow research project with portability, performance, and extensibility goals.
  • 2007: The GHC user guide documented the even-numbered stable-branch versioning policy starting with GHC 6.8.
  • 2011: The AOSA chapter described GHC as an industrial-strength compiler used in teaching, research, and commercial settings.
  • 2025: GHC 9.14.1 release artifacts provided the branch represented by the unversioned Homebrew executable names in this batch input.

Related projects

  • Hackage is the package repository that distributes Haskell libraries built for use with GHC and other tooling.
  • GHCup is the Haskell installer that installs GHC along with related tools.
  • Cabal, Stack, Haddock, Happy, Alex, and Haskell Language Server form the surrounding toolchain named by GHC's own documentation.

security posture

Risk level: yellow

compiler and runtime ecosystem.

Risk classifier

yellow risk · high confidence · runtime

Why

  • compiler and runtime ecosystem

Signals

  • override:ghc

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ghcexecutableindexed executableDiscovered from the local executable index.
ghc-9.14.1executableindexed executableDiscovered from the local executable index.
ghc-pkgexecutableindexed executableDiscovered from the local executable index.
ghc-pkg-9.14.1executableindexed executableDiscovered from the local executable index.
ghciexecutableindexed executableDiscovered from the local executable index.
ghci-9.14.1executableindexed executableDiscovered from the local executable index.
haddockexecutableindexed executableDiscovered from the local executable index.
haddock-ghc-9.14.1executableindexed executableDiscovered from the local executable index.
hp2psexecutableindexed executableDiscovered from the local executable index.
hp2ps-ghc-9.14.1executableindexed executableDiscovered from the local executable index.
hpcexecutableindexed executableDiscovered from the local executable index.
hpc-ghc-9.14.1executableindexed executableDiscovered from the local executable index.
hsc2hsexecutableindexed executableDiscovered from the local executable index.
hsc2hs-ghc-9.14.1executableindexed executableDiscovered from the local executable index.
runghcexecutableindexed executableDiscovered from the local executable index.
runghc-9.14.1executableindexed executableDiscovered from the local executable index.
runhaskellexecutableindexed executableDiscovered from the local executable index.
runhaskell-9.14.1executableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version9.14.1
manager updated2026-07-30
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:ghc
Version9.14.1
Package managerHomebrew
Homepagehttps://haskell.org/ghc/
Last updated2026-07-30T14:08:05-04:00
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated package history
  • pkgdb category and tag curation