happy-lib: Happy is a parser generator for Haskell implemented using this library

[ bsd2, development, library ] [ Propose Tags ] [ Report a vulnerability ]

Happy is a parser generator for Haskell. Given a grammar specification in BNF, Happy generates Haskell code to parse the grammar. Happy works in a similar way to the yacc tool for C.

This library provides the following functionality:

  • Data type definitions for the Grammar AST type, capturing the information in .y-files (Happy.Grammar)

  • A parser for happy grammar files (.y) to produce a Grammar (Happy.Frontend.*)

  • Implementations of the text book algorithms that compute the LR action and goto tables for the given Grammar (Happy.Tabular.*)

  • An LALR code generator to produce table-driven, deterministic parsing code in Haskell (Happy.Backend.LALR.*)

  • A (less maintained) GLR code generator to produce table-driven, non-deterministic parsing code in Haskell, where ambiguous parses produce multiple parse trees (Happy.Backend.GLR.*)


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6 (info)
Change log ChangeLog.md
Dependencies array (>=0.5), base (>=4.9 && <5), containers (>=0.4.2), happy-lib, mtl (>=2.2.1), transformers (>=0.5.6.2) [details]
Tested with ghc ==9.12.2, ghc ==9.10.2, ghc ==9.8.4, ghc ==9.6.7, ghc ==9.4.8, ghc ==9.2.8, ghc ==9.0.2, ghc ==8.10.7, ghc ==8.8.4, ghc ==8.6.5, ghc ==8.4.4, ghc ==8.2.2, ghc ==8.0.2
License BSD-2-Clause
Copyright (c) Andy Gill, Simon Marlow
Author Andy Gill and Simon Marlow
Maintainer https://github.com/haskell/happy
Category Development
Home page https://www.haskell.org/happy/
Bug tracker https://github.com/haskell/happy/issues
Source repo head: git clone https://github.com/haskell/happy.git
Uploaded by AndreasAbel at 2025-07-17T09:09:17Z
Distributions Arch:2.1.5, LTSHaskell:2.1.6, NixOS:2.1.3, Stackage:2.1.6
Downloads 2865 total (22 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2025-07-17 [all 1 reports]

Readme for happy-lib-2.1.6

[back to package description]

Happy

Build Status

Happy is a parser generator for Haskell 98 (and later).

Happy Parsing!

Documentation

Documentation is hosted on Read the Docs:

For basic information of the sort typically found in a read-me, see the following sections of the docs: