GF Logo

Grammatical Framework Download and Installation

8 August 2025

GF 3.12 was released on 8 August 2025.

What's new? See the release notes.

Note: GF core and the RGL

The following instructions explain how to install GF core, i.e. the compiler, shell and run-time systems. Obtaining the Resource Grammar Library (RGL) is done separately; see the section at the bottom of this page.


Installing from a binary package

Binary packages are available for Debian/Ubuntu, macOS, and Windows and include:

Binary packages on GitHub

Debian/Ubuntu

The package targets Ubuntu 24.04 (Noble). To install it, use:

sudo apt install ./gf-3.12-ubuntu-24.04.deb 

macOS

If you are on an Intel Mac (2019 or older), use gf-3.12-macos-intel.pkg.
For newer ARM-based Macs (Apple Silicon M1, M2, M3), use gf-3.12-macos-arm.pkg.

After downloading, right click on the file and click on Open.1 You will see a dialog saying that "macOS cannot verify the developer of "gf-3.12-macos-intel.pkg". Are you sure you want to open it?". Press Open.

Windows

To install the package:

  1. unpack it anywhere and take note of the full path to the folder containing the .exe file.
  2. add it to the PATH environment variable

For more information, see Using GF on Windows (latest updated for Windows 10).

Installing from Hackage

Instructions applicable for macOS, Linux, and WSL2 on Windows.

GF is on Hackage, so under normal circumstances the procedure is fairly simple:

cabal update
cabal install gf-3.12

Notes

GHC version

The GF source code is known to be compilable with GHC versions 7.10 through to 9.6.7.

Obtaining Haskell

There are various ways of obtaining Haskell, including:

Installation location

The above steps install GF for a single user. The executables are put in $HOME/.cabal/bin (or on macOS in $HOME/Library/Haskell/bin), so you might want to add this directory to your path (in .bash_profile or similar):

PATH=$HOME/.cabal/bin:$PATH

Haskeline

GF uses haskeline, which on Linux depends on some non-Haskell libraries that won't be installed automatically by Cabal, and therefore need to be installed manually. Here is one way to do this:

Installing from source code

Obtaining

To obtain the source code for the release, download it from GitHub.

Alternatively, to obtain the latest version of the source code:

  1. If you haven't already, clone the repository with:

    git clone https://github.com/GrammaticalFramework/gf-core.git
  2. If you've already cloned the repository previously, update with:

    git pull

Installing

You can then install with:

cabal install

or, if you're a Stack user:

stack install

For more info on working with the GF source code, see the GF Developers Guide.

Installing the Python bindings from PyPI

The Python library is available on PyPI as pgf, so it can be installed using:

pip install pgf

If this doesn't work, you will need to install the C runtime manually; see the instructions here.


Installing the RGL from a binary release

Binary releases of the RGL are made available on GitHub. In general the steps to follow are:

  1. Download a binary release and extract it somewhere on your system.
  2. Set the environment variable GF_LIB_PATH to point to wherever you extracted the RGL.

For more information, see Using GF on Windows (latest updated for Windows 10).

Installing the RGL from source

To compile the RGL, you will need to have GF already installed and in your path.

  1. Obtain the RGL source code, either by:
  1. Run make in the source code folder.

For more options, see the RGL README.


Older releases


  1. If you just double click on the file, you will get an error message "gf-3.12-macos-intel.pkg" cannot be opened because it is from an unidentified developer.