Added first version of DebugManager. Implemented draft of the rule engine

This commit is contained in:
2020-11-20 13:41:45 +01:00
parent cd066881b4
commit 315f8ea09b
156 changed files with 8388 additions and 2852 deletions
+34 -7
View File
@@ -1,16 +1,13 @@
# admin helpers
def concept explain as get_results() | filter("id == 0") | recurse(2)
def concept explain as get_results(id=0, depth=2)
set_isa(c:explain:, __AUTO_EVAL)
def concept explain last as get_last_results() | filter("id == 0") | recurse(2)
def concept explain last as get_last_results(id=0, depth=2)
set_isa(c:explain last:, __AUTO_EVAL)
def concept explain x as get_results() | filter(f"id == {x}") | recurse(3) where isinstance(x, int)
def concept explain x as get_results(id=x, depth=3)
set_isa(c:explain x:, __AUTO_EVAL)
def concept explain x values where isinstance(x, int) as get_results() | filter(f"id=={x}") | format_d
set_isa(c:explain x values:, __AUTO_EVAL)
def concept precedence a > precedence b as set_is_greater_than(__PRECEDENCE, a, b)
set_isa(c:precedence a > precedence b:, __AUTO_EVAL)
@@ -28,11 +25,41 @@ set_auto_eval(c:x is a y:)
def concept x is an y as set_isa(x, y)
set_auto_eval(c:x is an y:)
def concept x is a y as isa(x,y) pre is_question()
# no need to auto eval as it's a question
def concept x is an y as isa(x,y) pre is_question()
# no need to auto eval as it's a question
def concept x has a y as set_hasa(x, y)
set_auto_eval(c:x has a y:)
def concept x has an y as set_hasa(x, y)
set_auto_eval(c:x has an y:)
def concept x has a y as hasa(x,y) pre is_question()
# no need to auto eval as it's a question
def concept x has an y as hasa(x,y) pre is_question()
# no need to auto eval as it's a question
def concept activate debug as set_debug(True)
set_auto_eval(c:activate debug:)
def concept deactivate debug as set_debug(False)
set_auto_eval(c:deactivate debug:)
def concept activate debug on x as debug_var(x)
set_auto_eval(c:activate debug on x:)
def concept debug x as debug_var(x)
set_auto_eval(c:debug x:)
def concept debug var x as debug_var(variable=x)
set_auto_eval(c:debug var x:)
def concept debug variable x as debug_var(variable=x)
set_auto_eval(c:debug variable x:)
def concept debug method x as debug_var(method=x)
set_auto_eval(c:debug method x:)
set_auto_eval(c:activate debug on x:)
def concept deactivate debug on x as debug_var(x, enabled=False) where x
set_auto_eval(c:deactivate debug on x:)
def concept activate return values processing as set_var("sheerka.enable_process_return_values", True)
def concept deactivate return values processing as set_var("sheerka.enable_process_return_values", False)
set_auto_eval(c:activate return values processing:)
set_auto_eval(c:deactivate return values processing:)