Applications & Availability

GF can be used for building translation systems, multilingual web gadgets, natural-language interfaces, dialogue systems, and natural language resources.

GF is open-source, licensed under GPL (the program) and LGPL and BSD (the libraries). It is available for

Linux

macOS

Windows

Android mobile platform (via Java; runtime)

iOS mobile platform (iPhone, iPad)

via compilation to JavaScript, almost any platform that has a web browser (runtime)

Programming in GF

GF is easy to learn by following the tutorial. You can write your first translator in 15 minutes.

GF has an interactive command interpreter, as well as a batch compiler. Grammars can be compiled to parser and translator code in many different formats. These components can then be embedded in applications written in other programming languages. The formats currently supported are:

Haskell

Java, in particular the Android platform

JavaScript

Speech recognition: HTK/ATK, Nuance, JSGF

The GF programming language is high-level and advanced, featuring:

static type checking

higher-order functions

dependent types

pattern matching with data constructors and regular expressions

module system with multiple inheritance and parametrized modules

Getting help

If you need some help with GF, the first places to start are the Tutorial and Reference pages. The printed book contains all the material in the tutorial and some extra bits, and is the recommended reference for GF.

We run the IRC channel #gf on the Freenode network, where you are welcome to look for help with small questions or just start a general discussion. You can open a web chat or browse the channel logs.

If you have a larger question which the community may benefit from, we recommend you ask it on the mailing list.