!7 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, ""); loadMyTruth(); printLispStatements(); addLispEvaluator("ygoumdrmuwqzeesj", new F1() { Int get(Lisp l) { S text = lispForwardRaw("qhwrrglkfrbixwov", l); 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)); }