Galliwasp 1.1.0: February 11, 2013 - IMPORTANT NOTE: The changes in this release constitute a significant improvement over the previous version in most respects. However, due to changes in the program representation, some programs which previously terminated quickly may now take an unreasonably long time. Some instances of the Schur numbers problem are known to be affected. This isn't a bug. Many ASP programs are written in a manner unsuited for goal-directed execution. While galliwasp is designed to accommodate these programs whenever possible, even minor changes in goal and clause ordering can lead to extreme changes in runtime performance. - Compiler: Added common factor elimination. Goals present in multiple clauses with the same head will be factored out, reducing unnecessary repetition during execution. Note that this can cause partial answer sets to be unexpectedly small (albeit still correct) if fact priming is disabled by the interpreter. - Compiler: Expanded simplification of program using known facts. - Compiler: Added support for extended ASP syntax (weight and constraint literals, disjunctive heads, choice rules, etc.). - Compiler: Added experimental support for abduction. Requires success on positive loops to be enabled in the interpreter (run the interpreter with the '-p' switch). - Compiler: Added initial support for automatic source code documentation using pldoc. - Interpreter: Added assumption of goals when a clause is selected. Goals called by a clause are added to the CHS with a special flag, allowing them to be used for failure but not for success. That is, if 'not p' is assumed, a call to 'p' will fail, but another call to 'not p' will not coinductively succeed. This both ensures that the clause does not directly violate the CHS and allows immediate failure and backtracking if later clauses will contradict assumed goals. Goal assumption can be disabled by running the interpreter with the -nq switch. - Interpreter: Various performance improvements. - NMR call indexing moved from interpreter to compiler. - Significant improvements to source code readability and modularity. - Default executable names have been shortened. The compiler is now 'gwc' (previously 'gwaspc') and the interpreter is now 'gw' (previously 'gwasp'). Galliwasp 1.0.4: June 22, 2012 - Added detailed error messages for scanning and parsing. Debugging invalid programs should now be much easier. Galliwasp 1.0.3: June 1, 2012 - Major improvements to compiler speed for programs with a lot of headless rules. Galliwasp 1.0.2: May 27, 2012 - Fixed a bug where literals could succeed by calling themselves with no intervening negation, if backtracking occurred after they had previously succeeded. - Fixed a bug where a valid recursive call could fail when it should have succeeded. Galliwasp 1.0.1: May 7, 2012 - Fixed a bug which allowed all clauses of an NMR sub-check to be disabled without failure occurring, which could result in invalid answer sets being returned. Galliwasp 1.0.0: March 23, 2012 - Initial release.