Wednesday, 19 May 2010

I am happy to introduce one new feature in the GF runtime. The GF parser now returns some results even if the input sentence cannot be fully parsed or is incomplete. There is a brief description of the feature here:

The API is preliminary and there might be bugs in the implementation but the code is already in darcs.

Friday, 16 April 2010

This is the abstract of talk that I gave in Chalmers.

Title: GF as functional-logic language


Grammatical Framework (GF) is a domain specific language for describing
natural language grammars. Despite that GF is language with very
specific application domain, it is also Turing complete and could be
used to solve nontrivial tasks in a surprising way. The design of the
language has a lot of common with other functional and logic programming
languages, most notably: Agda, Haskell, Curry and Lambda Prolog. Curry
is an interesting language which combines in a neat way the functional
and the logical paradigms but still from type theoretic point of view
this is not satisfactory because it doesn't exploit the Curry-Howard
isomorphism. Thanks to the dependent types of GF, which relates it to
Agda, and thanks to some other specifics in the type system, GF could
also be classified as functional-logic language but the two paradigms in
GF are combined in the expected way. The execution model of GF also has
a lot of common with Lambda Prolog but to cover the full semantics of GF
the virtual machine should work in two modes: narrowing and residuation.
The residuation mode is something that could be seen in the virtual
machine of Curry but not in Lambda Prolog.

In this seminar I will talk about my work in progress on a virtual
machine for running GF applications. Not everything is in place yet but
the pieces are starting to stick together. As a demo I will show how to
solve the classical n-queens problem in GF. From the logical programming
paradigm I use backtracking and from the functional paradigm I use
efficient deterministic computations. From type theoretical point of
view I define the type of all n-queens puzzles.


Tuesday, 15 December 2009

Christmas release of GF

There is a Christmas release of GF. A lot of work have been done under the hood on GF but the most user-visible changes are:

* All abstract syntax expressions entered in the GF shell are type
checked first. In older versions, an attempt to linearize a type
incorrect term could cause a crash.

* Partial support for dependent types and implicit arguments ala Agda.

* Improved parsing performance, especially for Finnish.

* Three new resource grammars - Romanian, Polish and Dutch, thanks to Ramona Enache - Romanian, Adam Slaski and Ilona Komorowski - Polish and Aarne Ranta and Femke van Geel - Dutch. Now the library covers the majority of the European languages i.e 12 out of 23.

* Visualization of Syntax Trees, Parse Trees and Word Alignment diagrams from the translate demo.

* Various bug fixes

Now GF also has its own web domain:

Wednesday, 9 December 2009

The first GF blog is created

Google really provide fantastic services for managing open-source projects. They should be used in the best way in which we can. There is a blogging service as well so I created GF blog hosted at