/ @[_d;`V`H`L`B;:;_ci 179 196 195 192]; / line drawing characters (PC) @[_d;`V`H`L`B;:;("|";"-";"+";"+")]; / otherwise (mac) P:20;N:3 / print N wide up to P much table_:{[t]group[0]dict[t;*t.p]0} / start tree at root dict:{[t;p;r]:[r;();,/(var'*c)fuse'(_f[t]'). c:nodes[t]p]} / simulate dictionary nodes:{[t;p]t[`c`r;&p=t.p]} / "child nodes" in table var:{[c](N#H),dep[c],:[P;_ssr[":",:[P<#w:code c;(P#w),"..";w];"\n";";"];""]} / variable dep:{[c]:[`d _in!~c;($c),"->",($c),"..d";$c]} / dependency a -> a..d code:{[c]:[`d _in!a:~c;1!"\"\"",a`d;5:. c]} / lambda or dependency fuse:{[p;c]:[#p;(,p),group[N]c;()]} / parent + child group:{[n;c]:[#c;(n#" "),/:(bar[e]@&H=e:*:'c),'c;c]} / groups bar:{[e;i](-#e)$1!B,-1_@[(1+|/i)#V;i;:;L]} / branches table:`0:1!"\n",,/"\n",'table_@ / entry point \ \d .a \l refs \d .k t:.a.call`.a.call table t \ +---.a.call:{[f]calls[.+(`p`c`r;.. +---.a.calls:{[t;p;c]t:rec[r:c _i.. +---.a.children:{[t;p;c]calls/[t;c;i.. | +---.a.calls:{[t;p;c]t:rec[r:c _i.. | +---.a.ic:{x@&{:[7=4:d:. x;1;|.. | +---.a.refs:{px[**|t]'?,/gr'*t:c.. | +---.a.cd:{:[7=4:d:. x;bd d;`d.. | | +---.a.ad:{`$jo["."]@-1_ so["... | | | +---.a.jo:{1_,/x,'y} | | | +---.a.so:{1_'(&y=x)_ y:x,y} | | +---.a.bd:{($`$7_'b i;d i:&~`=.. | | +---.a.ml:{~k|0<':k:>/+\'x=/:".. | +---.a.gr:{; a:*q:ae di 1_-1_ .. | | +---.a.ae:{:["["~*x;(so[";"]1_.. | | | +---.a.so:{1_'(&y=x)_ y:x,y} | | +---.a.dd:{x@&~"."=*:'x} | | +---.a.dg:{x@&x _lin A,N} | | +---.a.di:{((x=" ")?0)_ x} | | +---.a.dk:{x _dvl("if";"do";"w.. | | +---.a.f_:{:["_f"~y;$*|so["."].. | | | +---.a.so:{1_'(&y=x)_ y:x,y} | | +---.a.gl:{_ss[r;"{"]_ r:x@&~m.. | | | +---.a.ml:{~k|0<':k:>/+\'x=/:".. | | +---.a.np:{?(db ds@)'fsm dc dl.. | | | +---.a.db:{x _dvl" \t"} | | | +---.a.dc:{jo[" "]@tt[" /"]'dw.. | | | | +---.a.dw:{x@&~"/"=*:'x} | | | | +---.a.jo:{1_,/x,'y} | | | | +---.a.so:{1_'(&y=x)_ y:x,y} | | | | +---.a.tt:{:[#i:_ss[y;x];(*i)#.. | | | +---.a.dl:{x@&ml x} | | | | +---.a.ml:{~k|0<':k:>/+\'x=/:".. | | | +---.a.dq:{x@&mq x} | | | | +---.a.mq:{~b|~=\~b:x="\""} | | | +---.a.ds:{(x?"`")#x} | | | +---.a.fsm:{{(&1=y i)_ x@:i:&y>.. | | +---.a.nt:{:[~x[0]_in A _dv"_".. | | +---.a.vn:{*so["."]x} | | +---.a.so:{1_'(&y=x)_ y:x,y} | +---.a.px:{:["."=*s:$y;y;`$($x.. +---.a.rec:{[r;t;p;c]@[t;_n;,;(..