Permalink
Browse files

v0.2.1

* Added support for js expression in the `from` node addressing issue [#86](#86)
* Enhanced `JoinReferenceNode` performance in the default assert case where there are no `references` to left or right context.
* Added ability to use `or` and `not` in tandem to check for the non-existence of multiple facts. [#85](#85)
* Fixed issue with `from` node where an undefined property would be tested. [#89](#89)
* You can now define a custom resolution strategy.
* Compiling nools files now supports the from modifier.
* Documentation updates
   * Updates about from node support with js values.
   * New documentation about using `or` and `not` constratints together.
   * Updated `or` documentation to include a three constraint example.
  • Loading branch information...
1 parent e58883d commit 86eea5e7e506f4c356bb1d8d125b5c3cdfb4102f @doug-martin doug-martin committed Nov 8, 2013
Showing with 10,705 additions and 422 deletions.
  1. +1 −1 Gruntfile.js
  2. +3 −2 benchmark/waltzDb/benchmark.js
  3. +2 −3 benchmark/waltzDb/waltzDb.nools
  4. +15 −0 docs/History.html
  5. +1,063 −0 docs/examples/browser/rules/waltzDb.nools
  6. +3,429 −0 docs/examples/browser/src/watlzdbData.js
  7. +143 −0 docs/examples/browser/waltzDb.html
  8. +166 −5 docs/index.html
  9. +8 −8 docs/nools.js
  10. +1,063 −0 examples/browser/rules/waltzDb.nools
  11. +3,429 −0 examples/browser/src/watlzdbData.js
  12. +143 −0 examples/browser/waltzDb.html
  13. +14 −0 history.md
  14. +5 −6 lib/agenda.js
  15. +34 −26 lib/compile/index.js
  16. +32 −11 lib/compile/transpile.js
  17. +6 −5 lib/constraint.js
  18. +11 −3 lib/constraintMatcher.js
  19. +1 −38 lib/extended.js
  20. +4 −2 lib/flow.js
  21. +9 −1 lib/flowContainer.js
  22. +1 −0 lib/nodes/alphaNode.js
  23. +4 −3 lib/nodes/equalityNode.js
  24. +11 −12 lib/nodes/fromNode.js
  25. +10 −10 lib/nodes/fromNotNode.js
  26. +3 −3 lib/nodes/joinNode.js
  27. +37 −21 lib/nodes/joinReferenceNode.js
  28. +41 −26 lib/nodes/notNode.js
  29. +3 −3 lib/nodes/typeNode.js
  30. +31 −6 lib/parser/nools/tokens.js
  31. +8 −4 lib/pattern.js
  32. +8 −3 lib/rule.js
  33. +262 −186 nools.js
  34. +8 −8 nools.min.js
  35. +1 −1 package.json
  36. +233 −5 readme.md
  37. +41 −4 test/flow.compiled.test.js
  38. +41 −1 test/flow.dsl.test.js
  39. +152 −3 test/flow.test.js
  40. +112 −11 test/issues.test.js
  41. +48 −0 test/noolsParser.test.js
  42. +31 −1 test/rules.test.js
  43. +19 −0 test/rules/orRule-notConditions-compiled.js
  44. +19 −0 test/rules/orRule-notConditions.nools
View
@@ -30,7 +30,7 @@ module.exports = function (grunt) {
'<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %>;' +
' Licensed <%= pkg.license %> */\n',
- report: 'gzip'
+ report: 'min'
},
min: {
files: {
@@ -2,8 +2,9 @@
var data = require("./data"),
nools = require("../../index");
-var flow = nools.compile(__dirname + "/waltzDb.nools");
-var items = data.load(flow).waltzdb8;
+var flow = nools.compile(__dirname + "/waltzDb.nools")
+ .conflictResolution(["salience", "factRecency", "activationRecency"]);
+var items = data.load(flow).waltzdb4;
var session = flow.getSession.apply(flow, items);
session.assert(new (flow.getDefined("stage"))({value: "DUPLICATE"}));
var start = new Date();
@@ -78,8 +78,7 @@ function getAngle(p1, p2){
return PI/2;
else if (deltaY < 0)
return -PI/2;
- }
- else if (deltaY == 0) {
+ }else if (deltaY == 0) {
if (deltaX > 0)
return 0.0;
else if (deltaX < 0)
@@ -721,9 +720,9 @@ rule start_visit_2_junction {
junction : Junction junction.type == '2j' && junction.visited == 'no' {basePoint : basePoint, p1 : p1, p2 : p2};
}
then {
+ modify(junction, function(){ this.visited = "now";});
modify(stage, function(){ this.value = 'VISITING_2J';});
console.log( "VISITING_2J" );
- modify(junction, function(){ this.visited = "now";});
}
}
View
@@ -178,6 +178,21 @@
+<h1>0.2.1</h1>
+<ul>
+<li>Added support for js expression in the <code>from</code> node addressing issue <a href="https://github.com/C2FO/nools/issues/86">#86</a></li>
+<li>Enhanced <code>JoinReferenceNode</code> performance in the default assert case where there are no <code>references</code> to left or right context.</li>
+<li>Added ability to use <code>or</code> and <code>not</code> in tandem to check for the non-existence of multiple facts. <a href="https://github.com/C2FO/nools/issues/85">#85</a></li>
+<li>Fixed issue with <code>from</code> node where an undefined property would be tested. <a href="https://github.com/C2FO/nools/issues/89">#89</a></li>
+<li>You can now define a custom resolution strategy.</li>
+<li>Compiling nools files now supports the from modifier.</li>
+<li>Documentation updates<ul>
+<li>Updates about from node support with js values.</li>
+<li>New documentation about using <code>or</code> and <code>not</code> constratints together.</li>
+<li>Updated <code>or</code> documentation to include a three constraint example.</li>
+</ul>
+</li>
+</ul>
<h1>0.2.0 / 2013-10-14</h1>
<ul>
<li>Nools now supports true modify!!!<ul>
Oops, something went wrong.

0 comments on commit 86eea5e

Please sign in to comment.