Andreas Källberg bd270b05ff Remove the Either Int from value2term
This prevents HUGE space leak and makes compiling a PGF a LOT faster

For example, an application grammar moved from taking over 50GB
of ram and taking 5 minutes (most of which is spent on garbage colelction)
to taking 1.2 seconds and using 42mb of memory

The price we pay is that the "variable #n is out of scope" error is now
lazy and will happen when we try to evaluate the term instead of
happening when the function returns and allowing the caller to chose how
to handle the error.
I don't think this should matter in practice, since it's very rare;
at least Inari has never encountered it.
2021-07-12 15:50:43 +08:00
2021-06-17 20:20:18 +08:00
2021-07-06 15:45:21 +02:00
2021-07-12 15:50:43 +08:00
2018-08-11 22:16:28 -03:00
2018-11-29 10:46:33 +01:00
2021-05-05 15:04:15 +02:00
2018-11-28 14:40:36 +01:00
2021-06-23 09:20:44 +02:00
2021-06-23 09:16:03 +02:00
2021-07-06 05:20:09 +08:00

GF Logo

Grammatical Framework (GF)

The Grammatical Framework is a grammar formalism based on type theory. It consists of:

  • a special-purpose programming language
  • a compiler of the language
  • a generic grammar processor

The compiler reads GF grammars from user-provided files, and the generic grammar processor performs various tasks with the grammars:

  • generation
  • parsing
  • translation
  • type checking
  • computation
  • paraphrasing
  • random generation
  • syntax editing

GF particularly addresses four aspects of grammars:

  • multilinguality (parallel grammars for different languages)
  • semantics (semantic conditions of well-formedness, semantic properties of expressions)
  • grammar engineering (modularity, abstractions, libraries)
  • embeddability in programs written in other languages (C, C++, Haskell, Java, JavaScript)

Compilation and installation

The simplest way of installing GF from source is with the command:

cabal install

or:

stack install

For more information, including links to precompiled binaries, see the download page.

About this repository

On 2018-07-25, the monolithic GF repository was split in two:

  1. gf-core — the GF compiler, shell and runtimes
  2. gf-rgl — the resource grammar library

The former repository is now archived and no longer updated. The split was performed using this script and the output of that script is here.

Description
No description provided
Readme Multiple Licenses 140 MiB
Languages
Haskell 45%
C 32.9%
JavaScript 10.1%
HTML 3.3%
Grammatical Framework 2.8%
Other 5.8%