Every repository with this icon (
Every repository with this icon (
| Description: | the Rule Engine for Ruby edit |
-
The following should be allowed in a rule definition:
rule :foobar, [MyClass, m.name.in("joe", "jim", "bob")] ...
This ticket has 0 attachment(s).
Comments
-
1 comment Created 6 months ago by mattupcorexcore-nodesxducktypexfrom-lighthousexnomethoderrorxThrow NoMethodError if type is specified|S| newxCurrently, the HashedNode class traps NoMethodError. This is necessary for patterns that use the :is_a? quantifier or do not specify a type. But if a type is explicitly specified, and the pattern contains a method that does not exist, then the Engine should throw the NoMethodError.
This ticket has 0 attachment(s).
Comments
-
1 comment Created 6 months ago by mattup@mattupxdslxfrom-lighthousexInvestigate RuleML|S| newxInvestigate RuleML as a potential rule language for Ruleby. See http://www.ruleml.org .
I was originally going to use it, but opted instead to use an internal DSL. Now we are working on an external DSL and I think we should revisit RuleML.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattupcore-nodesxfrom-lighthousexRefactor check for head atom in BridgeNode|S| newxThe bridge node currently has to make an awkward check for the head atom. This needs to be changed so that the head atom is a special case.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattupcorexfrom-lighthousexClean up MatchResult class|S| newxThe MatchResult class has some unneeded attributes and extra code. We need to clean this out.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattupcorexfrom-lighthousexRefactor Fact.token so it is not needed|S| newxThe Fact.token value is not really necessary any more. The assert_fact method should have a retract_fact sibling in every occurrence.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattupdslxfrom-lighthousexAllow for parameters in method names|S| newxCurrently, Ruleby does not allow for parameters in method names. For example, the following is not allowed:
[m.get(:name) == ’Joe’]
This needs to be accepted in all syntaxes. Other cases where this is need include:
[m[:name] == ’Joe’]
The Atoms and Nodes are already prepared to accept the arguments. The only area of development needed is in the DSLs.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattupcorexfrom-lighthousexImplement :exists? existential quantifier|S| newxAn ‘exists’ keyword in the DSL would represent an existential quantifier that checked for the existence of a a particular pattern in working memory. The rule would then be satisfied only once if that pattern is matched. This is as opposed to firing ‘for each’ by default.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattupcore-enginexfrom-lighthousexAdd trace to log fired rules in engine|S| newxAdd a method to the Engine class that will allow the caller to enable some kind of tracing. This tracing will record what rules have been fired.
This ticket has 0 attachment(s).
Comments
-
0 comments Created 6 months ago by mattup@mattupxdslxfrom-lighthousexExternal DSL|S| newxCreate external DSL. Original DSL’s are internal and written in Ruby. To be able to store rules externally an external DSL is needed. This would allow for a lot of new functionality to be created, i.e. a BRMS.
This ticket has 0 attachment(s).
Comments
-
The LHS of a rule should be able to chain methods. This would look something like:
rule [:m, m.foo.bar.value = 'hello'] do |v|
... endComments
- @mattup▾
- core▾
- core-engine▾
- core-nodes▾
- dsl▾
- ducktype▾
- from-lighthouse▾
- nomethoderror▾
- |M| 0.6▾
- |M| 0•5▾
- |S| new▾
- Apply to Selection
-
Change Color…
Preview:preview
- Rename…
- Delete











