Source code for curry.utility.readcurry.show_

from . import types

__all__ =['show']

[docs] def show(arg, top=True): if isinstance(arg, types.Applic): if getattr(arg.f, 'is_operator', False) and len(arg.args) == 2: lhs = show(arg.args[0], top=False) rhs = show(arg.args[1], top=False) string = '%s%s%s' % (lhs, arg.f, rhs) return string if top else '(%s)' % string else: return ' '.join(map(str, arg._seq_)) elif isinstance(arg, list): return '[%s]' % ', '.join(show(a) for a in arg) elif isinstance(arg, tuple): return '(%s)' % ', '.join(show(a) for a in arg) elif isinstance(arg, types.Literal): return repr(arg) else: return str(arg)