++pi-heck
Profiling utility
Source
++ pi-heck|= [nam=@tas day=doss]^- doss=+ lam=(~(get by hit.day) nam)day(hit (~(put by hit.day) nam ?~(lam 1 +(u.lam))))
++pi-noon
Sample trace
Source
++ pi-noon|= [mot=term paz=(list path) day=doss]=| lax=(unit path)|- ^- doss?~ paz day(mon (pi-mope mot mon.day))%= $paz t.pazlax `i.pazcut.day%+ ~(put by cut.day) i.paz^- hump=+ nax=`(unit path)`?~(t.paz ~ `i.t.paz)=+ hup=`hump`=+(hup=(~(get by cut.day) i.paz) ?^(hup u.hup [*moan ~ ~])):+ (pi-mope mot mon.hup)?~ lax out.hup=+ hag=(~(get by out.hup) u.lax)(~(put by out.hup) u.lax ?~(hag 1 +(u.hag)))?~ nax inn.hup=+ hag=(~(get by inn.hup) u.nax)(~(put by inn.hup) u.nax ?~(hag 1 +(u.hag)))==
++pi-mope
Add sample
Source
++ pi-mope|= [mot=term mon=moan]?+ mot mon%fun mon(fun +(fun.mon))%noc mon(noc +(noc.mon))%glu mon(glu +(glu.mon))%mal mon(mal +(mal.mon))%far mon(far +(far.mon))%coy mon(coy +(coy.mon))%euq mon(euq +(euq.mon))==
++pi-moth
Count sample
Source
++ pi-moth|= mon=moan ^- @ud:(add fun.mon noc.mon glu.mon mal.mon far.mon coy.mon euq.mon)
++pi-mumm
Print sample
Source
++ pi-mumm|= mon=moan ^- tape=+ tot=(pi-moth mon);: welp^- tape?: =(0 noc.mon) ~(welp (scow %ud (div (mul 100 noc.mon) tot)) "n ")::^- tape?: =(0 fun.mon) ~(welp (scow %ud (div (mul 100 fun.mon) tot)) "c ")::^- tape?: =(0 glu.mon) ~(welp (scow %ud (div (mul 100 glu.mon) tot)) "g ")::^- tape?: =(0 mal.mon) ~(welp (scow %ud (div (mul 100 mal.mon) tot)) "m ")::^- tape?: =(0 far.mon) ~(welp (scow %ud (div (mul 100 far.mon) tot)) "f ")::^- tape?: =(0 coy.mon) ~(welp (scow %ud (div (mul 100 coy.mon) tot)) "y ")::^- tape?: =(0 euq.mon) ~(welp (scow %ud (div (mul 100 euq.mon) tot)) "e ")==
++pi-tell
Produce dump
Source
++ pi-tell|= day=doss^- (list tape)?: =(day *doss) ~=+ tot=(pi-moth mon.day);: welp[(welp "events: " (pi-mumm mon.day)) ~]::%+ turn%+ sort ~(tap by hit.day)|= [a=[* @] b=[* @]](lth +.a +.b)|= [nam=term num=@ud]:(welp (trip nam) ": " (scow %ud num))["" ~]::%- zing^- (list (list tape))%+ turn%+ sort ~(tap by cut.day)|= [one=(pair path hump) two=(pair path hump)](gth (pi-moth mon.q.one) (pi-moth mon.q.two))|= [pax=path hup=hump]=+ ott=(pi-moth mon.hup);: welp[(welp "label: " (spud pax)) ~][(welp "price: " (scow %ud (div (mul 100 ott) tot))) ~][(welp "shape: " (pi-mumm mon.hup)) ~]::?: =(~ out.hup) ~:- "into:"%+ turn%+ sort ~(tap by out.hup)|=([[* a=@ud] [* b=@ud]] (gth a b))|= [pax=path num=@ud]^- tape:(welp " " (spud pax) ": " (scow %ud num))::?: =(~ inn.hup) ~:- "from:"%+ turn%+ sort ~(tap by inn.hup)|=([[* a=@ud] [* b=@ud]] (gth a b))|= [pax=path num=@ud]^- tape:(welp " " (spud pax) ": " (scow %ud num))::["" ~]~====