Esempio n. 1
0
 def _opaque_call(self, query, continuation):
     from pypy.lang.prolog.builtin import builtins
     signature = query.signature
     builtin = builtins.get(signature, None)
     if builtin is not None:
         return builtin.call(self, query, continuation)
     # do a real call
     return self.user_call(query, continuation, choice_point=False)
Esempio n. 2
0
 def _opaque_call(self, query, continuation):
     from pypy.lang.prolog.builtin import builtins
     signature = query.signature
     builtin = builtins.get(signature, None)
     if builtin is not None:
         return builtin.call(self, query, continuation)
     # do a real call
     return self.user_call(query, continuation, choice_point=False)
Esempio n. 3
0
 def _call(self, query, continuation):
     signature = query.signature
     from pypy.lang.prolog.builtin import builtins
     builtins = hint(builtins, deepfreeze=True)
     signature = hint(signature, promote=True)
     for bsig, builtin in unrolling_builtins:
         if signature == bsig:
             return builtin.call(self, query, continuation)
     return self.user_call(query, continuation, choice_point=False)
Esempio n. 4
0
 def _call(self, query, continuation):
     signature = query.signature
     from pypy.lang.prolog.builtin import builtins
     builtins = hint(builtins, deepfreeze=True)
     signature = hint(signature, promote=True)
     for bsig, builtin in unrolling_builtins:
         if signature == bsig:
             return builtin.call(self, query, continuation)
     return self.user_call(query, continuation, choice_point=False)