Вот что я имею в виду:
def foo(x):
bar(x)
def bar(x):
baz(x)
def baz(x):
debug()
def debug():
import traceback
print traceback.extract_stack()
foo(1)
запустим:
[('test.py', 14, '<module>', 'foo(1)'),
('test.py', 2, 'foo', 'bar(x)'),
('test.py', 5, 'bar', 'baz(x)'),
('test.py', 8, 'baz', 'debug()'),
('test.py', 12, 'debug', 'print traceback.extract_stack()')]
Возможно ли такое в Common Lisp или Haskell?
Спасибо.