!7 cmodule AIPackagesSpike > DynPrintLog { S input = [[ Test ---- Fact: A gazelle is fast Q: Is a gazelle slow? A: No A: No, it is fast A: No, it's fast A: No, a gazelle is fast A: No, fast A: No, it's fast, not slow Example solution ---------------- Fact: Fast is not slow Rule: Y is not Z => Z is not Y Rule: a X is Y & Y is not Z => a X is not Z Rule: is X Y? & X is not Y => no Grouping: (a *) ]]; start-thread { SS sections = asCIMap(underlinedHeadingSections(input)); S testText = sections.get("test"); S solutionText = sections.get("Example solution"); MultiMap testPairs = parseColonPropertyCIMultiMap(testText); MultiMap solutionPairs = parseColonPropertyCIMultiMap(solutionText); S program = joinWithEmptyLines(concatLists( testPairs.get("Fact"), testPairs.get("Q"), solutionPairs.get("Fact"), solutionPairs.get("Rule"), )); printWithIndent("PROGRAM> ", program); PhilosophyBot1 bot = new(program); bot.run(); } }