Changelog of @hackage/GenI 0.24.2
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)]
- Before:
- 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