Changelog of @hackage/GenI 0.24.1

GenI 0.24, 18 Sep 2013

Note that the changes between this release and 0.20 are considered to be under the BSD3 license. GenI overall remains dual-licensed under the GPL and any commercial-use terms you may wish to negotiate with INRIA. Having secured the rights to use GenI 0.20, you may freely use GenI 0.24 in a similar fashion.

CHANGES TO WATCH OUT FOR

  • Server/GUI changes: Semantic input must be full input.
    • Before: foo(x) bar(y z)
    • After: semantics:[foo(x) bar(y z)]
  • Customisable semantics : now you can accept any arbitrary input for which you can define a mapping to a GenI-style test case
  • API change: the custom semantics argument is mandatory
  • More extensive documentation

GUI

  • Visual distinction between explicit null adjunction constraints (marked NA) and constraints inserted by GenI (marked INA)
  • Bugfixes (now retains show-feature state across debugger steps)
  • More informative top/bot unification failure diagnostics in the trash

GENERAL

  • New "guided realisation" optimisation (focus on one polarity path at a time)
  • Fixed errors where top/bottom unification wasn't being done
  • Builds with haskell-platform 2013.2.0.0

GenI 0.22, 14 Apr 2012

Note that the changes between this release and 0.20 are considered to be under the BSD3 license. GenI overall remains dual-licensed under the GPL and any commercial-use terms you may wish to negotiate with INRIA. Having secured the rights to use GenI 0.20, you may freely use GenI 0.22 in a similar fashion.

CHANGES TO WATCH OUT FOR

  • Separation of geni and geni-gui into two packages; simpler installation
  • Now using the top feature for lemanchors instead of bot
  • Empty disjunctions forbidden in unification variables
  • JSON input/output to morph processors have changed
  • Lexical selection unifies semantics of tree schema + lemma with input semantics.

GUI

  • New results tab with reminder of inputs
  • Add gui element to display unanchored lexical selection.
  • Jump to new tab in debugger panel when created.
  • Update gui to use Pretty instead of Show
  • Rename $algo-session tab to "tree assembly"
  • Make warnings resizable.
  • Fix display of path equations with 'interface' in them.
  • Fix #50 - load button has no effect.
  • Fix #49 - correct order that leaf nodes are returned.
  • Show GenI version in About box.
  • Add detect polarities and root feature editor to main gui.

DOCUMENTATION

GENERAL

  • Builds with GHC 7

  • Core behaviour

    • Early null-adjunction and semfilter obligatory
    • Handling of zero-literal semantic items restored
    • Unconstrained polarities in automaton construction. This makes it possible to do polarity detection with only a weakly specified root feature like [cat:_], and without needing the relevant feature to be implemented everywhere.
  • Flags:

    • --trees (used to be --macros; latter is deprecated)
    • --batchdir now optional (defaults to a new temp dir)
    • --maxsteps (stop after N steps)
    • --extrapol REMOVED (use root feature instead)
  • Logging facility (not used much in GenI yet) Can be configured in ~/.geni/config.yaml, for example logging:

    name : NLP.GenI.Console level : WARN format : simple "$msg"

    name : NLP.Geni.LexicalSelection level : DEBUG format : simple "$utcTime $loggername $msg" handler : stderr

  • Less repetition in warnings (hopefully easier to read)

  • More hiding of constructors for safety

  • New enrichment option for setting co-anchors (foo.lex=hello)

  • Lexical selection performance enhancements

  • Variables that only occur once are converted to anonymous, should make unification a bit more efficient

  • Fix #39: reject malformed root feature input.

  • New feature:

    • Variables with constraints on their possible values (?X/foo|bar)
    • Fancy disjunctions: tree schemata now allow disjunctions of unification variables (but not recursive). These must flatten down to plain old atomic disjunction once converted to elementary trees
  • Time metric in statistics (Laura Perez)

  • Do top/bottom unification on na-constrained nodes during initialisation.

  • Polarity detection relaxed to work with constrained variables too. (?X/foo|bar gives the result as foo|bar)

  • Bugfix in interpretation of root feature (it should be sorted).

  • Flags:

    • --rootfeat always assumed, but defaults to '[cat:_]'
    • '-r' a short command line option for '--rootfeat'.

LIBRARY

  • Somewhat safer and easier to understand API (still no stability yet)
  • Replace String with Text in GeniVal
  • Replace Show abuse with custom Pretty class
  • Slightly less stateful (no target semantics in state)
  • Much rearranging and renaming (sorry!)
  • New: ability to provide custom lexical selection action
  • New: ability to provide custom morph postprocessing action
  • de-haskell98 (Gwern Branwen)
  • No more null builder.

TOOLS (darcs get --lazy http://code.haskell.org/GenI)

  • new tool, genireport: summarise batch generation results
  • geniserver now talks over HTTP using a JSON format
  • Use Sylvain Salvati's xmg2geni.xsl instead of geniconvert.
    • xmg2geni: fix treatment of missing lexemes.
    • xmg2geni: treat type=coanchor as other nodes in GenI.
  • geniwrapper: illustrates C wrapper of GenI API

GenI 0.20, 29 Sep 2009

  • NON BACKWARD-COMPATIBLE CHANGES

    • GHC 6.8 or higher now required (GHC 6.10 + Haskell Platform preferred)
    • Input files now assumed to be UTF-8 encoded (output still ISO8859-1; hopefully locale-based in GHC 6.12)
    • Interface between GenI and morphological realiser now uses a JSON format.
    • Rootfeat optimisation now mandatory (flag no longer recognised)
  • NEW FUNCTIONALITY

    • new flag --version now works and reports version from Cabal file
    • new flag --dump dumps derivation output to stdout in JSON format
    • new flag --ranking foo ranks outputs according to OT-style constraints expressed in foo
    • --batchdir now works with --testcase
    • --batchdir now dumps derivations and statistics in JSON format
    • --batchdir now works with instructions files
    • --metrics always expands 'default' to the default metrics (in addition to any other statistics you request)
    • new optimisation: early null-adjunction detection
  • QUALITY ASSURANCE

    • Reference manual in docs/genimanual.pdf (make docs)
    • cabal install -fgui and cabal install produce the same underlying library only the executable is different
    • Easier GUI installation for MacOS X (application bundles now built automatically; no manual intervention required)
    • Adopted odd/even convention to distinguish devel builds from stable ones (eg. GenI 0.21.x is devel whereas GenI 0.20.x is stable)

GenI 0.17.4, 6 Apr 2009

  • GHC 6.6 support

  • GUI disabled by default

GenI 0.17.3, 3 Apr 2009

  • Simplified build method

    • one single cabal package instead of two
    • cabal configure -f-gui to disable GUI
    • makefile stripped out
  • Lexical selection on empty semantics now allowed

    • This is so that the zero-literal semantics mechanism can work again
  • Better help text

  • Baked-in unit testing (geni --unit-test)

GenI 0.10, 11 Dec 2006

  • Performance much improved after Haskell profiling
  • Pre-compiled grammars option, geniserver (buggy)

GenI 0.9, 8 Dec 2006

  • Switched to new syntax: variables now must be prefixed with '?'
  • Switched from Alex/Happy to Parsec
  • Added API documentation via haddock

GenI 0.8, 16 Sep 2005

  • Support for latin-1 characters using Unicode wxhaskell
  • Added a configure script and an install target in Makefile
  • Changed from use of configuration files to use of command line switches
  • Full configuration GUI
  • Implementation of atomic disjunction
  • --ignore-semantics mode (Jackie Lai)

GenI 0.7, 8 June 2005

  • Upgraded to ghc 6.4, wxwidgets 2.6, wxhaskell 0.9.4

GenI 0.6, 3 May 2005

  • User interface fixes (Window size bugs)
  • Interface with Yannick Parmientier's selection module