in torcharrow/trace.py [0:0]
def traceproperty(fn):
"""Trace all basic torcharrow functions operating on given types."""
@functools.wraps(fn)
def wrapped(*args, **kwargs):
# # same code as above, except for this line...
# fn._is_property = True
# #find the scope::
# # at least one positional argument must be an IColumn
# for arg in args:
# if isinstance(arg,IColumn):
# scope = arg.scope
# # existing functions
# trace._nesting_level += 1
res = fn(*args, **kwargs)
# trace._nesting_level -= 1
# # handle top level primitive functions
# if trace._nesting_level == 0 and trace.is_on():
# # print("TRACE PROP", fn, [str(a) for a in args], kwargs)
# args_ = []
# for a in args:
# if isinstance(a, trace._types):
# args_.append(Var(a.id))
# else:
# args_.append(a)
# # print("TRACE PROP", fn, [str(a) for a in args_], kwargs)
# kwargs_ = {}
# for k, v in kwargs.items():
# if isinstance(a, trace._types):
# kwargs_[k] = args_.Var(v.id)
# else:
# kwargs_[k] = v
# out = "_"
# if isinstance(res, trace._types):
# out = res.id
# trace.append((out, Call(fn, tuple(args_), kwargs_)))
return res
return wrapped