simplified caw 10 12 19 not(certain, single statement) - add to interp - out=out, comparison, call (not where not 2 outs) x any x =,comparison, member, head out out, tail out out, append 3 out, string concat 3 out no if grammars x string concat or x =[],"" (don't define inputs so they can be used as constants) open calls x * look up commands, body structures list building, decomp (get item n) - calls commands from command x in library - test types prior to interpretstatement 123 11 12 13 multi clause/pred - calls only to existing preds - bug: wanted program not reached (or was there another solution before it?) - write new clause only for first predicate or when there is a call to it. length(program)= from caw before -> totalvars x new clause vars unique for each clause v * list of specifications only needs to be long enough to reach previous algs in dictionary. Note: Richard Dawson: write a separate predicate in CAWMP (combination algorithm writer with multiple predicates) that accepts partial algorithms and progress on predicate so the algorithm can be completed. variables in calls skip, not quite right trace at here, why doesn't i+o=arity make [], "" i, o not just i or o - same for string, etc in lpi add rule referring to self, maxlength when giving partial alg give alg start of alg test 61 not 62 not finishing code - maxlength x? - maxpredicates, etc x? test concat of algs spec: [[],[],[,]] where [,] is multi clause spec - error on badly formed grammar program finder for base cases - account for all vars - except non [] etc. constants - try combos