GF Logo

Grammatical Framework Download and Installation

GF 3.9 was released on 11 August 2017.

What's new? See the Release notes.

Binary packages

Platform Download Features How to install
macOS gf-3.9.pkg GF+S+C+J+P Double-click on the package icon
macOS gf-3.9-bin-intel-mac.tar.gz GF+S+C+J+P sudo tar -C /usr/local -zxf gf-3.9-bin-intel-mac.tar.gz
Raspbian 9.1 gf_3.9-1_armhf.deb GF+S+C+J+P sudo dpkg -i gf_3.9-1_armhf.deb
Ubuntu (32-bit) gf_3.9-1_i386.deb GF+S+C+J+P sudo dpkg -i gf_3.9-1_i386.deb
Ubuntu (64-bit) gf_3.9-1_amd64.deb GF+S+C+J+P sudo dpkg -i gf_3.9-1_amd64.deb
Windows GF+S unzip

Features: GF = GF shell and grammar compiler and the Resource Grammar Library, S = gf -server mode, C = C run-time system, J/P = Java/Python binding to the C run-time system


The Windows package is installed by just unpacking it anywhere. You will probably need to set the PATH and GF_LIB_PATH environment variables, see Inari's notes on Installing GF on Windows.

The Ubuntu .deb packages should work on Ubuntu 16.04 and 17.04 and similar Linux distributions.

The Raspian .deb package was created on a Raspberry Pi 3 and will probably work on other ARM-based systems running Debian 9 (stretch) or similar Linux distributions.

The packages for macOS (Mac OS X) should work on at least 10.11 and 10.12 (El Capitan and Sierra).

The Mac OS and Linux .tar.gz packages are designed to be installed in /usr/local. You can install them in other locations, but then you need to set the GF_LIB_PATH environment variable:

    export GF_LIB_PATH=/usr/local/share/gf-3.9/lib

where /usr/local should be replaced with the path to the location where you unpacked the package.

Installing the latest release from source

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

  1. Install a recent version of the Haskell Platform, e.g. version 7.10.3 (see note 2 below)
  2. cabal update
  3. On Linux: install some C libraries from your Linux distribution (see note 1 below)
  4. cabal install gf

You can also download the full source package from here: gf-3.9.tar.gz.


The above steps installs GF for a single user. The executables are put in $HOME/.cabal/bin (or, with recent versions of the Haskell platform on Mac OS X, in $HOME/Library/Haskell/bin), so it is a good idea to put a line in your .bash_profile or .profile to add that directory to you path:




Note 1. 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:

Note 2. The GF source code has been updated to compile with GHC 8.2.1. Using older versions of GHC (e.g. 8.0.x and 7.10.3) should still work too.

Installing from the latest developer source code

The first time:

    git clone
    cd gf-core
    cabal install


    git clone
    cd gf-rgl


    cd gf-core
    git pull
    cabal install


    cd gf-rgl
    git pull

The above notes for installing from source apply also in these cases. For more info on working with the GF source code, see the GF Developers Guide.

Using Stack

You can also use Stack to compile GF, just replace cabal install above with stack install (assuming you already have Stack set up).

Older releases