added a combinator parser for parsing simple prolog expressions into a data structure we like; updated main accordingly, now skipping whitespace;
they're not prologesque