ref: a106f8db4ec30b159c0fcef120c3e8b55b3ffdb8
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;
}
}
}
}
}