def solve(agent, predString, argList): imp = agent.getImp(Symbol(predString)) b, z = optBZ(argList) solutions = [] for solved in imp.solutions(agent, b, z): if solved: solutions.append([termEvalEnd(agent, b, zi) for zi in z]) return tuple(solutions)
def generateBZ(partial): b, z = optBZ(partial) yield (partial, b, z) raise LowError("Only one solution to PartialBZ is allowed to be returned")
NEWPM.displayError() errOutput.write('[%s.%s]: %s\n' % (pred.name, impl.__class__.__name__, str(f))) #Print predicate definitions to file for impl in predimpls: try: #Testing Script. Begin: # #esm = str(type(impl)) # #if not chronometers.has_key(esm): # # chronometers[esm] = chronometer(esm) # #chronometers[esm].start() #Testing Script. End. arityOrFacts = impl.persist_arity_or_facts(agent) if isinstance(arityOrFacts, int): b, z = optBZ([None] * arityOrFacts) facts = [[b.bTermEval(agent, x) for x in z] \ for s in impl.solutions(agent, b, z) if s] elif arityOrFacts == None: raise LowError( "persist_arity_or_facts method for %s returned None" % impl.symbol) else: facts = arityOrFacts for fact in facts: writeFact(agent, impl.symbol, fact, output) except AnyException, f: errid = NEWPM.displayError() NEWPM.pm(errid) if isinstance(impl, DefaultImp): #use the predsym
except AnyException, f: NEWPM.displayError() errOutput.write('[%s.%s]: %s\n'%(pred.name, impl.__class__.__name__, str(f))) #Print predicate definitions to file for impl in predimpls: try: #Testing Script. Begin: # #esm = str(type(impl)) # #if not chronometers.has_key(esm): # # chronometers[esm] = chronometer(esm) # #chronometers[esm].start() #Testing Script. End. arityOrFacts = impl.persist_arity_or_facts(agent) if isinstance(arityOrFacts, int): b, z = optBZ([None]*arityOrFacts) facts = [[b.bTermEval(agent, x) for x in z] \ for s in impl.solutions(agent, b, z) if s] elif arityOrFacts == None: raise LowError("persist_arity_or_facts method for %s returned None"%impl.symbol) else: facts = arityOrFacts for fact in facts: writeFact(agent, impl.symbol, fact, output) except AnyException, f: errid = NEWPM.displayError() NEWPM.pm(errid) if isinstance(impl, DefaultImp): #use the predsym errOutput.write("%s(DefaultImp): %s\n"%(impl.symbol,str(f))) else: