forked from GitHub/gf-core
102 lines
4.5 KiB
Plaintext
102 lines
4.5 KiB
Plaintext
GF 3.7 Release Notes
|
|
June 2015
|
|
|
|
==Installation==
|
|
|
|
See the [download page http://www.grammaticalframework.org/download/index.html].
|
|
|
|
==What's new==
|
|
|
|
Over 800 changes have been pushed to the source repository since
|
|
[the release of GF 3.6 release-3.6.html] in June 2014.
|
|
|
|
===GF compiler and run-time library===
|
|
|
|
====New features and notable changes====
|
|
|
|
- GF shell: the commands available in the shell after importing with the
|
|
``-retain`` flag are now a superset of the commands available after
|
|
importing without ``-retain``.
|
|
(Previously commands that require compilation all the way to PMCFG were
|
|
not available when the ``-retain`` flag was used.)
|
|
- The command line flag ``-s``/``-q`` now silences all warnings.
|
|
- GF now supports parallel batch compilation of grammars.
|
|
This is activated with the ``-j``
|
|
flag. (For the time being, you also need to pass ``+RTS -N -RTS`` to enable
|
|
parallelism in the GHC run-time system.)
|
|
- Concrete syntax can now be translated to Haskell. The flag
|
|
``-output-format=haskell`` translates abstract syntax to Haskell as before.
|
|
By also adding ``-haskell=concrete`` you get a Haskell module for each
|
|
concrete syntax of the grammar. These contain translations of
|
|
linearization types and linearization functions.
|
|
By adding ``-haskell=variants`` you get linearization functions that output
|
|
all variants.
|
|
(You don't get any functions for parsing.)
|
|
- Now there is full support for all orthographic primitives:
|
|
``BIND``, ``SOFT_BIND``, ``SOFT_SPACE``, ``CAPIT``, ``ALL_CAPIT`` and
|
|
``nonExist``.
|
|
- It is now possible to define callbacks for literals from the Haskell
|
|
binding to the C runtime. This is used for instance in
|
|
the Wide Coverage translator on the Web.
|
|
|
|
|
|
====Other changes and bug fixes====
|
|
|
|
- GF now uses colors to highlight errors and warnings (except on Windows).
|
|
- Even though GF works with absolute paths internally, GF now shows paths
|
|
relative to the current directory in diagnostic output.
|
|
- GF Shell and ``gf -server``: improved responsiveness when large grammars are
|
|
loaded (by increasing the GHC RTS idle timeout before full GC from the
|
|
default 0.3s to 5s).
|
|
- Numerous fixes in the translation dictionaries.
|
|
- C-run-time system: Bug fixes in the Java and Python bindings.
|
|
- C-run-time system: the parser is now fully Unicode compatible.
|
|
- Because of the new orthographic primitives, the version numbers in
|
|
``.pgf`` and ``.gfo`` files have been bumped. PGF files
|
|
produced with this version of GF can not be used with older versions of GF.
|
|
If you get an error message saying ``.gfo file version mismatch``, remove
|
|
old ``.gfo`` files.
|
|
|
|
|
|
====Changes of interest to compiler developers====
|
|
|
|
- The compiler is now available as a Haskell library. The module ``GF``
|
|
serves as a preliminary compiler API. It exports a selection of
|
|
types and functions from the compiler.
|
|
- Some Haddock documentation improvements to document the compiler API.
|
|
- Various refactoring for readability, modularity and efficiency. Removal of
|
|
some dead code.
|
|
|
|
|
|
===Resource Grammar Library===
|
|
|
|
- New languages in the Resource Grammar Library: Mongolian
|
|
(see the [updated synopsis ../lib/doc/synopsis.html]).
|
|
|
|
|
|
===GF Cloud services===
|
|
|
|
- Minibar and Wide Coverage Translation Demo: speech output is now available
|
|
(in browsers that support it).
|
|
- The Wide Coverage Translation Demo can now draw syntax trees and show
|
|
inflection tables. There are also lots of improvements in the
|
|
translation grammar and dictionaries.
|
|
- PGF service: add commands ``c-abstrtree`` and ``c-parsetree``.
|
|
These are the C runtime variants of the ``absttree`` and ``parsetree``
|
|
commands. They work in the same way, but support fewer rendering options.
|
|
- PGF service:
|
|
The ``parse``/``translate``/``c-parse``/``c-translate`` commands now
|
|
recognize the option ``jsontree=true`` to augment the returned JSON
|
|
structure with a field called
|
|
``jsontree`` next to the field ``tree``, or ``jsontrees`` next to ``trees``,
|
|
containing the the returned syntax tree in JSON format.
|
|
- PGF service: when using ``full=yes`` with the ``complete`` command,
|
|
additional information about completions is included in the output, in
|
|
particular there is an additional field ``seq`` containing the longest
|
|
possible completion.
|
|
- PGF service: add command ``c-linearizeAll`` to obtain all variants.
|
|
- PGF service: PGFs now expire from the internal cache when they have been
|
|
unused for 24 hours, to keep memory use down in long running servers.
|
|
- PGF service: limit the number of parallel calls to the C run-time parse
|
|
function to 4 by default. The limit can be changed with the ``-j`` flag.
|