It may be useful to disassemble code during debugging, as in the following demonstration.
i2 : load "Macaulay2Doc/demo1.m2"
|
i3 : code g
o3 = /home/charles/local/src/Macaulay2/release-branches/1.5/M2/Macaulay2/packages/Macaulay2Doc/demo1.m2:11:7-14:8: --source code:
g = y -> (
c := f(y-1);
d := f(y-2);
c+d)
|
i4 : g 2
/home/charles/local/src/Macaulay2/release-branches/1.5/M2/Macaulay2/packages/Macaulay2Doc/demo1.m2:8:12:(3):[2]: error: division by zero
/home/charles/local/src/Macaulay2/release-branches/1.5/M2/Macaulay2/packages/Macaulay2Doc/demo1.m2:8:12:(3):[2]: --entering debugger (type help to see debugger commands)
/home/charles/local/src/Macaulay2/release-branches/1.5/M2/Macaulay2/packages/Macaulay2Doc/demo1.m2:8:11-8:13: --source code:
b := 1/x;
|
ii5 : code current
oo5 = /home/charles/local/src/Macaulay2/release-branches/1.5/M2/Macaulay2/
b := 1/x;
-----------------------------------------------------------------------
packages/Macaulay2Doc/demo1.m2:8:11-8:13: --source code:
|
ii6 : disassemble current
oo6 = (2-OP / 1 (fetch 0 0))
|