ref: 8fde6e4845eeafe6ffc4179218a3ac9e8049c0e6
dir: /repl.c/
#include <u.h> #include <libc.h> #include "dat.h" #include "fns.h" void repl(Term *database) { int fd = 0; /* Standard input */ while(1){ print("?- "); Term *query = parse(fd, 1); Binding *bindings = nil; int success = evalquery(database, query, &bindings); if(success == 0) print("false.\n"); else{ if(bindings == nil) print("true.\n"); else{ while(bindings){ print("%S = %S\n", bindings->name, prettyprint(bindings->value)); bindings = bindings->next; } } } } }