!7 !include #1007960 // englishToConceptLanguage_xyz sS concepts = [[ ["jcnbmtmfzktxhzyf", "X + Y"], ["bwqhmnorjpyomdbv", "X * Y", "multiplication"], ["olphazqzxxnvtjcx", "X evaluates through standard function Y."], ["wwaprwlmqzqeaikp", "A leaf satisfying standard function X evaluates through standard function Y."], ]]; sS statements = [[ olphazqzxxnvtjcx jcnbmtmfzktxhzyf "plus" olphazqzxxnvtjcx bwqhmnorjpyomdbv "multiply" wwaprwlmqzqeaikp "isInteger" "bigint" ]]; p { useConcepts(concepts); useFacts_cl(statements); //set englishToConceptLanguage_xyz_debug; printIndent(eval(parse(print("1")))); assertEqualsVerbose(bigint(3), eval(print(parse(print("1 + 2"))))); printIndent(eval(print(parse(print("1 * 2"))))); assertEqualsVerbose(bigint(6), eval(parse(print("1 + 2 + 3")))); assertEqualsVerbose(bigint(7), eval(parse(print("1 + 2 * 3")))); assertEqualsVerbose(bigint(5), eval(parse(print("1 * 2 + 3")))); print("OK!!"); } static Lisp parse(S s) { ret englishToLispWith(s, ll("jcnbmtmfzktxhzyf", "bwqhmnorjpyomdbv")); } static O eval(Lisp l) { ret generalLispEval(l); }