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 * Literate GenI and genimanual replaced with http://projects.haskell.org/GenI/manual 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