GF 3.10 was released on 2 December 2018.
What's new? See the release notes.
These binary packages include both the GF core (compiler and runtime) as well as the pre-compiled RGL.
Platform | Download | Features | How to install |
---|---|---|---|
macOS | gf-3.10.pkg | GF, S, C, J, P | Double-click on the package icon |
Raspbian 10 (buster) | gf_3.10-2_armhf.deb | GF,S,C,J,P | sudo dpkg -i gf_3.10-2_armhf.deb |
Ubuntu (32-bit) | gf_3.10-2_i386.deb | GF, S, C, J, P | sudo dpkg -i gf_3.10-2_i386.deb |
Ubuntu (64-bit) | gf_3.10-2_amd64.deb | GF, S, C, J, P | sudo dpkg -i gf_3.10-2_amd64.deb |
Windows | gf-3.10-bin-windows.zip | GF, S | unzip gf-3.10-bin-windows.zip |
Features
gf -server
modeThe 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 18.04 and similar Linux distributions. The .deb
packages were updated to version 3.10-2 after the release of GF 3.10. (Because of a packaging bug the Resource Grammar Library was missing in the 3.10-1 packages.)
The packages for macOS (Mac OS X) should work on at least 10.13 and 10.14 (High Sierra and Mojave)
GF is on Hackage, so under normal circumstances the procedure is fairly simple:
cabal update
cabal install gf
This installs the GF executable and Haskell libraries, but does not include the RGL.
You can also download the source code release from GitHub, and follow the instructions below under Installing from the latest developer source code.
Installation location
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:
PATH=$HOME/.cabal/bin:$PATH
or
PATH=$HOME/Library/Haskell/bin:$PATH
Build tools
In order to compile GF you need the build tools Alex and Happy. These can be installed via Cabal, e.g.:
cabal install alex happy
or obtained by other means, depending on your OS.
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
GHC version
The GF source code has been updated to compile with GHC 8.4. Using older versions of GHC (e.g. 8.2, 8.0 and 7.10) should still work too.
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
Then install with:
cabal install
or, if you're a Stack user:
stack install
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.
To install the RGL from source, you can download a release from GitHub or get the latest version by cloning the repository:
git clone https://github.com/GrammaticalFramework/gf-rgl.git
In both cases, once you have the RGL sources you can install them by running:
make
in the RGL folder. This assumes that you already have GF installed. For more details about building the RGL, see the RGL README.
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 OSX (with Windows missing so far), which include the C runtime and a 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.