Beispiel #1
0
 def cont(self, exp, cont): 
   if isinstance(exp, tuple): #isinstance(exp, list) or 
     if is_subclass(exp[0], object): # SpecialForm
       form = exp[0](*exp[1:])
       return form.cont(cont, self)
     else:
       @mycont(cont)
       def evaluate_cont(op, solver): 
         return op.evaluate_cont(solver, cont, exp[1:])
       return self.cont(exp[0], evaluate_cont)
   else:
     if is_subclass(exp, object):
        return value_cont(exp, cont)
     try: exp_cont = exp.cont
     except: return value_cont(exp, cont)
     return exp_cont(cont, self)
Beispiel #2
0
def collocet_builtins():    
  for name, obj in globals().items():
    if isinstance(obj, Command) or is_subclass(obj, SpecialForm):
      try: symbol = obj.symbol
      except AttributeError:
        try: symbol = obj.name
        except AttributeError: symbol = name
      _builtins[symbol] = obj
Beispiel #3
0
def collocet_builtins():
    for name, obj in globals().items():
        if isinstance(obj, Command) or is_subclass(obj, SpecialForm):
            try:
                symbol = obj.symbol
            except AttributeError:
                try:
                    symbol = obj.name
                except AttributeError:
                    symbol = name
            _builtins[symbol] = obj
Beispiel #4
0
def collocet_builtins(globls, global_env, module): 
  for name, obj in globls.items():
    if isinstance(obj, Command) or is_subclass(obj, SpecialForm):
      v = get_var(obj, name)
      module[v] = obj
      if obj.is_global: global_env[v] = obj