* Fix for issue #122 referencing defined class within another defined class * Also fixes accessing scoped functions within a defined class. * Fix for issue #119 window was removed from the nools.js file now it is called in the current scope of `this`. * Allow session.halt even for `match()` #143 - @raymondfeng * Now if you call `halt()` even if you did not call `matchUntilHalt()` * Now you can use a function as a constraint (Only applies to rules defined programatically) #142 - @raymondfeng * You can now define types using scope [#142](#142) - @raymondfeng * Fix for issue, is the dsl you do not have to escape `\` characters #123
* Performance Upgrades * Added BetaNode indexing * Abstracted out JoinNode to extend BetaNode (Prevents the checking of constraints if there are not any constraints to check) * Refactored BetaNetwork * Created a new Memory Class to encapusulate left and right memory for BetaNodes * Added new `exists` logic operator to check for existence of fact (opposite of `not`)
* 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.
* Nools now supports true modify!!! * This is a major leap forward for `nools` opening the door for more complex actions and expressions in the rules. * Added support from for `from` conditions in the `rhs`. * Fixed issue [#81](#81). * Fixed issue [#82](#82). * Added new `sudoku` web example. * Added [Send More Money](http://en.wikipedia.org/wiki/Verbal_arithmetic) benchmark see [#78](#78).
* Fixed issue #68 where `matchUntilHalt` uses a lot of CPU * Fixed issue #45, now compiled rules support `or` constraint with more than 2 inner constraints. * Added new feature to address #76, now you can use `deleteFlows` to dispose all flows, or use `hasFlow` to check if a flow is already registred with `nools`.