diff --git a/doc/gf2-highlights.html b/doc/gf2-highlights.html index d028ff133..82c2f358d 100644 --- a/doc/gf2-highlights.html +++ b/doc/gf2-highlights.html @@ -6,11 +6,11 @@

Grammatical Framework Version 2

-Highlights, version 2.0 +Highlights, versions 2.0 and 2.1

-13/10/2003 - 25/11 - 2/4/2004 - 18/6 +13/10/2003 - 25/11 - 2/4/2004 - 18/6 - 13/10

@@ -40,12 +40,13 @@ An accurate language specification is now available. interface, instance, incomplete.

  • New experimental module types: transfer, union. - +
  • Version 2.1: multiple inheritance in module extension.

    Canonical format GFC

    -
  • The target of GF compiler; to reuse, just read in -
  • Readable by Haskell/Java/C++/C applications +
  • The target of GF compiler; to reuse, just read in. +
  • Readable by Haskell/Java/C++/C applications. +
  • Version 2.1: Java interpreter available for GFC (by Björn Bringert).

    New features in expression language

    @@ -58,6 +59,8 @@ An accurate language specification is now available. braces and where.
  • Pattern variables can be used on lhs's of oper definitions.
  • New Unicode transliterations (by Harad Hammarström). +
  • Version 2.1: Initial segments of integers + (Intsn) available as parameter types.

    New shell commands and command functionalities

    @@ -103,32 +106,22 @@ An accurate language specification is now available.
  • By Peter Ljunglöf, based on MCFG.
  • Much more efficient for morphology and discontinuous constituents.
  • Treatment of cyclic rules. - +
  • Version 2.1: improved generation of speech recognition + grammars (by Björn Bringert). +
  • Version 2.1: output of Labelled BNF files readable by the + BNF Converter. -

    Status (18/6/2004)

    +

    Missing features of GF 1.2 (13/10/2004)

    -Grammar compiler, editor GUIs, and shell work for all platforms -(with restrictions for Solaris). - -

    - -The updated HelpFile (accessible through h command) -marks unsupported features present in GF 1.2 with *. -They will be supported again if interested users appear. - -

    - -GF1 grammars can be automatically translated to GF2 (although the +Generally, GF1 grammars can be automatically translated to GF2, although the result is not as good -as manual, since indentation and comments are destroyed). The results can be +as manual, since indentation and comments are destroyed. +The results can be saved in GF2 files, but this is not necessary. Some rarely used GF1 features are no longer supported (see next section). - -

    - It is also possible to write a GF2 grammar back to GF1, with the command pg -printer=old. @@ -136,14 +129,10 @@ command pg -printer=old.

    Resource libraries -and some example grammars and have been +and some example grammars have been converted. Most old example grammars work without any changes. -There is a new resource API with -many new constructions. - -

    - -A make facility works, finding out which modules have to be recompiled. +However, there is a new resource API with +many new constructions, and which is recommended.

    @@ -313,16 +302,10 @@ Examples of extension: lin times x y = expSg ("the" ++ "product" ++ "of" ++ x.s ++ "and" ++ y.s) ; } -Another important difference: -

  • extension is single -
  • opening can be multiple: open Foo, Bar, Baz in {...}

    -Moreover: -

  • opening can be qualified -

    -Example of qualified opening: +Opening, but not extension, can be qualified:

       concrete NumberSystems of Systems = open (Bin = Binary), (Dec = Decimal) in {
         lin 
    @@ -330,6 +313,17 @@ Example of qualified opening:
           DZero = Dec.Zero
       }
     
    + +

    + +Version 2.1 introduces multiple inheritance: a module +can extend several modules at the same time, for instance, +

    +  abstract Dialogue = User, System ** { ...}
    +
    +may be used to put together "User's moves" and "System's moves" into +one Dialogue System grammar. + @@ -346,7 +340,7 @@ first left bracket ({). The header gives
  • the module type: abstract, concrete (of A), or resource
  • the name of the module (next to the module type keyword) -
  • the name of extended module (between = and **) +
  • the names of extended modules (between = and **)
  • the names of opened modules diff --git a/src/GF/Shell.hs b/src/GF/Shell.hs index 1b8a8520d..2b7a66701 100644 --- a/src/GF/Shell.hs +++ b/src/GF/Shell.hs @@ -250,7 +250,7 @@ execC co@(comm, opts0) sa@((st,(h,_)),a) = checkOptions st co >> case comm of let c0 = firstAbsCat os gro c <- GrammarToCanon.redQIdent c0 lang <- maybeErr "no concrete" $ languageOfOptState os st - t <- Look.lookupLincat cgr $ CMacros.redirectIdent lang c + t <- return $ errVal CMacros.defLinType $ Look.lookupLincat cgr $ CMacros.redirectIdent lang c return $ if CMacros.isDiscontinuousCType t then (putStrLn ("Warning: discontinuous category" +++ prt_ c)) else (return ())