25 July 2021
GF 3.11 was released on 25 July 2021.
What's new? See the release notes.
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.
Binary packages are available for Debian/Ubuntu, macOS, and Windows and include:
gf -server
modeUnlike in previous versions, the binaries do not include the RGL.
There are two versions: gf-3.11-ubuntu-18.04.deb
for Ubuntu 18.04 (Cosmic), and gf-3.11-ubuntu-20.04.deb
for Ubuntu 20.04 (Focal).
To install the package use:
sudo apt-get install ./gf-3.11-ubuntu-*.deb
To install the package, just double-click it and follow the installer instructions.
The packages should work on at least Catalina and Big Sur.
To install the package, unpack it anywhere.
You will probably need to update the PATH
environment variable to include your chosen install location.
For more information, see Using GF on Windows (latest updated for Windows 10).
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.11
GHC version
The GF source code is known to be compilable with GHC versions 7.10 through to 8.10.
Obtaining Haskell
There are various ways of obtaining Haskell, including:
ghcup install ghc 8.10.4
ghcup set ghc 8.10.4
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:
sudo apt-get install libghc-haskeline-dev
sudo dnf install ghc-haskeline-devel
Obtaining
To obtain the source code for the release, download it from GitHub.
Alternatively, to obtain the latest version of the source code:
If you haven't already, clone the repository with:
git clone https://github.com/GrammaticalFramework/gf-core.git
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.
The Python library is available on PyPI as pgf
, so it can be installed using:
pip install pgf
We provide binary wheels for Linux and macOS, which include the C runtime and are ready-to-go. If there is no binary distribution for your platform, this will install the source tarball, which will attempt to build the binding during installation, and requires the GF C runtime to be installed on your system.
Binary releases of the RGL are made available on GitHub. In general the steps to follow are:
GF_LIB_PATH
to point to wherever you extracted the RGL.To compile the RGL, you will need to have GF already installed and in your path.
git clone https://github.com/GrammaticalFramework/gf-rgl.git
make
in the source code folder.For more options, see the RGL README.