gf: Grammatical Framework

[ compiler, library, natural-language-processing, program ] [ Propose Tags ]

GF, Grammatical Framework, is a programming language for multilingual grammar applications

[Skip to Readme]
Versions [faq] 3.1.6,,, 3.2, 3.2.9, 3.3, 3.3.3, 3.4, 3.5, 3.6, 3.7, 3.7.1, 3.8, 3.9, 3.10
Dependencies array, base (>=4.6 && <4.12), bytestring, cgi (>=3001.2.2.0), containers, directory, exceptions, filepath, gf, haskeline, httpd-shed (>=, json, lifted-base, mtl, network (>=2.3 && <2.7), network-uri (>=2.6), parallel (>=3), pretty, process, random, terminfo (>=0.4), time, time-compat (<0.2), unix, utf8-string, Win32 [details]
License LicenseRef-OtherLicense
Maintainer Thomas Hallgren
Revised Revision 3 made by ThomasHallgren at 2019-10-29T14:18:22Z
Category Natural Language Processing, Compiler
Home page
Bug tracker
Source repo head: git clone
Uploaded by ThomasHallgren at 2018-12-02T20:33:38Z
Distributions NixOS:3.10
Executables pgf-shell, gf
Downloads 12628 total (29 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user [build log]
All reported builds failed as of 2018-12-02 [all 2 reports]





Enable Ctrl+Break in the shell


Include --server mode


Get Network.URI from the network-uri package


Include functionality from the C run-time library (which must be installed already)


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for gf-3.10

[back to package description]

GF Logo

Grammatical Framework (GF)

Build Status

The Grammatical Framework is a grammar formalism based on type theory. It consists of:

  • a special-purpose programming language
  • a compiler of the language
  • a generic grammar processor

The compiler reads GF grammars from user-provided files, and the generic grammar processor performs various tasks with the grammars:

  • generation
  • parsing
  • translation
  • type checking
  • computation
  • paraphrasing
  • random generation
  • syntax editing

GF particularly addresses four aspects of grammars:

  • multilinguality (parallel grammars for different languages)
  • semantics (semantic conditions of well-formedness, semantic properties of expressions)
  • grammar engineering (modularity, abstractions, libraries)
  • embeddability in programs written in other languages (C, C++, Haskell, Java, JavaScript)

Compilation and installation

The simplest way of installing GF is with the command:

cabal install

For more details, see the download page and developers manual.

About this repository

On 2018-07-25, the monolithic GF repository was split in two:

  1. gf-core — the GF compiler, shell and runtimes
  2. gf-rgl — the resource grammar library

The former repository is now archived and no longer updated. The split was performed using this script and the output of that script is here.