Description
i1 : pseudocode(() -> 2+4*3)
o1 = function restargs false
numparms 0
framesize 0
frameID 11672
body 2-OP + 2
2-OP * 4
3
o1 : PseudocodeClosure
|
i2 : disassemble oo
o2 = (function restargs: false numparms: 0 framesize: 0 frameID: 11672 (2-OP
+ 2 (2-OP * 4 3)))
|
i3 : pseudocode functionBody(() -> 2+4*3)
o3 = 2-OP + 2
2-OP * 4
3
o3 : Pseudocode
|
i4 : disassemble oo
o4 = (2-OP + 2 (2-OP * 4 3))
|
One can look at specific part of the code by using _:
i5 : pseudocode resolution
o5 = function restargs true
numparms 1
framesize 1
frameID 203
body adjacent global-fetch 403
sequence local-fetch 1 1
adjacent global-fetch 352
sequence local-fetch 0 1
local-fetch 0 0
o5 : PseudocodeClosure
|
i6 : oo_4_1_1_0
o6 = global-fetch 352
o6 : Pseudocode
|
i7 : value oo
o7 = override
o7 : CompiledFunction
|
It may be useful to look at code during debugging, as in the following demonstration.
i8 : load "Macaulay2Doc/demo1.m2"
|
i9 : code g
o9 = /usr/local/share/Macaulay2/Macaulay2Doc/
demo1.m2:11:4-14:9: --source code:
g = y -> (
c := f(y-1);
d := f(y-2);
c+d)
|
i10 : g 2
/usr/local/share/Macaulay2/Macaulay2Doc/demo1.m2:8:11:(3):[2]: error: division by zero
/usr/local/share/Macaulay2/Macaulay2Doc/demo1.m2:8:11:(3):[2]: --entering debugger (type help to see debugger commands)
/usr/local/share/Macaulay2/Macaulay2Doc/demo1.m2:
8:10-8:13: --source code:
b := 1/x;
|
ii11 : code current
oo11 = /usr/local/share/Macaulay2/Macaulay2Doc/
demo1.m2:8:10-8:13: --source code:
b := 1/x;
|
ii12 : current
oo12 = 2-OP / 1
local-fetch 0 0
oo12 : PseudocodeClosure
|
ii13 : disassemble current
oo13 = (2-OP / 1 (local-fetch 0 0))
|