!759 sS concepts = [[ qhwrrglkfrbixwov - X has text Y. jqqmoikhpezdzszn - X has Y line(s). ygoumdrmuwqzeesj - How many line(s) does X have? lefmtqojfaiukfke - How many kcbifqeqvsidsios - -> a text ]]; sS statements = [[ kcbifqeqvsidsios has text "hello world\nhello again". ]]; !include #1008133 // MyTruth p { useConceptsAndStatements(concepts, statements); loadMyTruth(); printLispStatements(); addLispEvaluator("ygoumdrmuwqzeesj", new F1() { Int get(Lisp l) { S text = lispForwardRaw("qhwrrglkfrbixwov", l.get(0)); //print("Text: " + struct(text)); ret text != null ? countLines(text) : null; } }); answerHowManyQuestion("kcbifqeqvsidsios has how many line(s)."); answerHowManyQuestion("How many line(s) does kcbifqeqvsidsios have?"); } svoid answerHowManyQuestion(S q) { print("Answering: " + q); Lisp l = englishToLisp(q); printIndent(l); O result = callLispEvaluator(l); printIndent("Result: " + struct(result)); }