!7 cmodule PhilosophyBot extends DynPrintLog { sS program = [[ "memory" memory can mean RAM RAM has a size I have RAM input is x & x can mean y => pretend (input is y) input is x => activate facts containing x I have x => Ask something about (my x) // General patterns in flight now: // my * // Ask something about * // pretend * // input is * // (and more) Procedures ---------- Ask something about x { if (x exists): ask (what is x?) else: ask (does x exist?) for (y | x has a y): assume ((the y of my x) exists) ask something about (the y of my x) } the answer to x is y => the answer to x is known ask a & the answer to x is known => don't (ask a) Ask x { print x on input: if (input is a valid answer to x): store (the answer to x is input) } (x exists) is a valid answer to (does x exist) (x doesn't exist) is a valid answer to (does x exist) (x is y) is a valid answer to (what is x) ]]; start-thread { temp enter(); print(joinWithEmptyLines(map_curry indentx("> ", splitAtEmptyLines(program)))); } }