Spaces:
Sleeping
Sleeping
from sympy.core.basic import Basic | |
new = Basic.__new__ | |
def assoc(d, k, v): | |
d = d.copy() | |
d[k] = v | |
return d | |
basic_fns = {'op': type, | |
'new': Basic.__new__, | |
'leaf': lambda x: not isinstance(x, Basic) or x.is_Atom, | |
'children': lambda x: x.args} | |
expr_fns = assoc(basic_fns, 'new', lambda op, *args: op(*args)) | |