/ example \d .k.q a:100 i:{[x]r:0;do[1000000;r+:g x];r} g:{[x]a+x} k:{X::10} h:(3;{x+y}) m:,.+(`b`c`d`i;(10;{x*y};20;{z+y-x})) f..i:{x*y} \d .k / path from symbol ps:{[s] a:{[f;p;v]:[f[p;v]&7=t:4:v;p;(t=6)|~t _in 0 5;();p,/:,/'_f[f]'[:[0=t;!#:;!:]v;v[]]_dv()]} d:{[f;p;v]if[~5=4:v;:a[f;p]v];if[~#m:. v;:m];p,/:,/(_f[f]'[m[;0];m[;1]]),_f[f]'[~m[;0];m[;2]]} d[{[s;p;v]s~*|p}[s];();.`]} ps`i / path from object po:{[o] a:{[o;p;v]:[(5:o)~5:v;p;(t=6)|~(t:4:v)_in 0 5;();p,/:,/'_f[o]'[:[0=t;!#:;!:]v;v[]]_dv()]} d:{[o;p;v]if[~5=4:v;:a[o;p]v];if[~#m:. v;:m];p,/:,/(_f[o]'[m[;0];m[;1]]),_f[o]'[~m[;0];m[;2]]} d[o;();.`]} po{x*y} po{X::10} / file path from string (e.g. Ps["";"tcons:"]) Ps:{[P;s]:[~@k:!P;,/(P,/:"/",'k)_f\:s;~".k"~-2#P;();_sm[(6:P)_dvl" \n\t\r";"*",s,"*"];,P;()]} Ps["/Users/stevanapter/k2";"tcons:"] \ ps`i: (`k `q `i (`k;`q;`m;0;`i) `k `q `f. `i) po{x*y}: ((`k;`q;`m;0;`c) `k `q `f. `i)