static void testLispEval(S concepts, S statements, S stuffToParse) { useConceptsAndCLStatements(concepts, statements); map(f testParse, toLinesFullTrim(stuffToParse)); } svoid testParse(S s) { print(" Parsing: " + s); Lisp l = hygienicParse1(s); if (l != null) printIndent("Parsed as: " + l); S result = null; pcall { if (l != null) result = str(eval(l)); } printIndent(s + " = " + or(result, "?")); print(); } static O eval(Lisp l) { ret generalLispEval(l); }