Exemplo n.º 1
0
 def apply(self, args, call_env):
     if len(args) != 2:
         raise SyntaxError(". must be of form: . container field")
     container = args[0].evaluate(call_env)
     return types.to_lisp_type(getattr(container, str(args[1].evaluate(call_env))))
Exemplo n.º 2
0
 def apply(self, args, call_env):
     if len(args) == 0:
         raise SyntaxError("! must be of form: ! callable args")
     fn = args[0].evaluate(call_env)
     return types.to_lisp_type(fn(*[e.evaluate(call_env).pytype() for e in args[1:]]))