Skip to content

GF 3.12

Latest

Choose a tag to compare

@anka-213 anka-213 released this 03 Aug 12:42
· 9 commits to master since this release

Installation

The instructions are for the binary packages on this page. For other installation methods, see the download page.

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.

To install the package, just double-click it and follow the installer instructions.

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).

What's new

This release adds support for Apple Silicon M1 Mac computers and newer versions of GHC, along with various improvements and bug fixes.

Over 70 commits have been merged to gf-core since the release of GF 3.11 in July 2021.

RGL separation from GF compiler

  • From this release, the binary GF core packages do not contain the Resource Grammar Library (RGL). The recommended way to get the RGL is to clone the gf-rgl repository and compile from source—you need only GF compiler to do that. (See also instructions on StackOverflow on how to install the RGL.)

General

  • Support for ARM, allowing to run GF on Mac computers with Apple Silicon M1
  • Support for newer versions of GHC (8.10.7, 9.0.2, 9.2.4, 9.4, 9.6.7)
  • Support compiling with Nix
  • Better error messages
  • Improvements to several GF shell commands
  • Several bug fixes and performance improvements
  • Temporarily dropped support for Java bindings

GF compiler and run-time library

  • Syntactic sugar for table update: table {cases ; vvv => t \! vvv}.t can now be written as t ** { cases }
  • Adjust the -view command depending on the OS
  • Improve output of the visualize_dependencies (vd) command for large dependency trees
  • Reintroduce syntactic transfer with pt -transfer and fix a bug in pt -compute
  • Bug fix: apply gt to all arguments when piped
  • Fix many "Invalid character" messages by always encoding GF files in UTF-8
  • Improve performance with long extend-lists
  • Improve syntax error messages
  • Add support for BIND tokens in the Python bindings
  • Allow compilation with emscripten

Other

  • Add support for Visual Studio Code.
  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.