From a4994371c0b0fbea9d2802acc22d9cc3977a0de0 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sun, 4 Oct 2026 13:30:41 -0700 Subject: Slides for 2026 REBASE --- docs/2026_REBASE/assets/memory-final.svg | 320 +++++++++++++++++++++++++++++++ 1 file changed, 320 insertions(+) create mode 100644 docs/2026_REBASE/assets/memory-final.svg (limited to 'docs/2026_REBASE/assets/memory-final.svg') diff --git a/docs/2026_REBASE/assets/memory-final.svg b/docs/2026_REBASE/assets/memory-final.svg new file mode 100644 index 00000000..205fea1b --- /dev/null +++ b/docs/2026_REBASE/assets/memory-final.svg @@ -0,0 +1,320 @@ +#3[0] → #115 · CTRL#4[0] → #2 · ASSOC#5[0] → #2 · ASSOC#12[0] → #2 · ASSOC#13[2] → #7 · MEM#13[3] → #7 · MEM#14[0] → #6 · CTRL#14[1] → #13 · MEM#14[2] → #12 · DATA#14[3] → #4 · DATA#14[4] → #4 · DATA#18[0] → #2 · ASSOC#24[0] → #2 · ASSOC#26[4] → #7 · MEM#26[5] → #7 · MEM#27[0] → #6 · CTRL#27[1] → #26 · MEM#27[2] → #24 · DATA#27[3] → #18 · DATA#27[4] → #4 · DATA#32[1] → #6 · CTRL#32[2] → #41 · CTRL#34[1] → #4 · DATA#34[2] → #60 · DATA#35[1] → #34 · DATA#35[2] → #18 · DATA#40[0] → #32 · CTRL#40[1] → #35 · DATA#46[0] → #2 · ASSOC#51[0] → #2 · ASSOC#52[0] → #2 · ASSOC#53[1] → #34 · DATA#53[2] → #52 · DATA#54[1] → #53 · DATA#54[2] → #51 · DATA#56[1] → #34 · DATA#56[2] → #8 · DATA#57[0] → #41 · CTRL#57[1] → #124 · MEM#57[2] → #28 · DATA#57[3] → #54 · DATA#57[4] → #56 · DATA#60[1] → #34 · DATA#60[2] → #46 · DATA#65[1] → #42 · CTRL#65[2] → #74 · CTRL#67[1] → #4 · DATA#67[2] → #103 · DATA#68[1] → #67 · DATA#68[2] → #18 · DATA#73[0] → #65 · CTRL#73[1] → #68 · DATA#88[1] → #131 · DATA#88[2] → #93 · DATA#91[1] → #67 · DATA#91[2] → #52 · DATA#92[1] → #91 · DATA#92[2] → #51 · DATA#93[0] → #74 · CTRL#93[1] → #124 · MEM#93[2] → #28 · DATA#93[3] → #92 · DATA#94[1] → #104 · MEM#94[2] → #15 · DATA#94[3] → #4 · DATA#94[4] → #88 · DATA#99[1] → #138 · DATA#99[2] → #46 · DATA#100[1] → #132 · MEM#100[2] → #15 · DATA#100[3] → #51 · DATA#100[4] → #99 · DATA#103[1] → #67 · DATA#103[2] → #46 · DATA#104[1] → #16 · MEM#104[2] → #94 · MEM#106[1] → #7 · MEM#106[2] → #104 · MEM#106[3] → #132 · MEM#106[4] → #29 · MEM#106[5] → #124 · MEM#112[1] → #138 · DATA#112[2] → #131 · DATA#115[0] → #75 · CTRL#115[1] → #106 · MEM#115[2] → #112 · DATA#124[1] → #29 · MEM#124[2] → #57 · MEM#131[1] → #4 · DATA#131[2] → #88 · DATA#132[1] → #16 · MEM#132[2] → #100 · MEM#138[1] → #4 · DATA#138[2] → #99 · DATAStart  #2[ Ctrl, MemBot, int]#2 Start +[ Ctrl, MemBot, int] + +[0] → — ASSOC +[1] → — CTRL +[2] → — CTRL012Stop  #3#3 Stop +Bot + +[0] → #115 CTRL0Con  #40#4 Con +0 + +[0] → #2 ASSOC0Xctrl  #5~Ctrl#5 Xctrl +~Ctrl + +[0] → #2 ASSOC0$ctrl  #6/0Ctrl#6 $ctrl +Projection 0 of #2 +Ctrl + +[0] → #2 CTRL$mem  #7/1MemBot#7 $mem +Projection 1 of #2 +MemBot + +[0] → #2 MEMarg  #8/2int#8 arg +Projection 2 of #2 +int + +[0] → #2 DATACon  #1216#12 Con +16 + +[0] → #2 ASSOC0MemMerge  #13MemBot#13 MemMerge +MemBot + +[0] → — CTRL +[1] → — DATA +[2] → #7 MEM +[3] → #7 MEM0123new_Totals  #14[ *Totals {int !sum; int !visits; }, MemBot]#14 new_Totals +[ *Totals {int !sum; int !visits; }, MemBot] + +[0] → #6 CTRL +[1] → #13 MEM +[2] → #12 DATA +[3] → #4 DATA +[4] → #4 DATA01234Totals  #15/0*Totals {int !sum; int !visits; }#15 Totals +Projection 0 of #14 +*Totals {int !sum; int !visits; } + +[0] → #14 DATA$mem  #16/1MemBot#16 $mem +Projection 1 of #14 +MemBot + +[0] → #14 MEMCon  #184#18 Con +4 + +[0] → #2 ASSOC0Con  #2440#24 Con +40 + +[0] → #2 ASSOC0MemMerge  #26MemBot#26 MemMerge +MemBot + +[0] → — CTRL +[1] → — DATA +[2] → — DATA +[3] → — DATA +[4] → #7 MEM +[5] → #7 MEM012345new_ary_int  #27[ *[int] {int #; int ![]; }, MemBot]#27 new_ary_int +[ *[int] {int #; int ![]; }, MemBot] + +[0] → #6 CTRL +[1] → #26 MEM +[2] → #24 DATA +[3] → #18 DATA +[4] → #4 DATA01234[int]  #28/0*[int] {int #; int ![]; }#28 [int] +Projection 0 of #27 +*[int] {int #; int ![]; } + +[0] → #27 DATA$mem  #29/1MemBot#29 $mem +Projection 1 of #27 +MemBot + +[0] → #27 MEMLoop  #32Ctrl#32 Loop +Ctrl + +[0] → — ASSOC +[1] → #6 CTRL +[2] → #41 CTRL012Phi_i  #34int#34 Phi_i +int + +[0] → #32 ASSOC +[1] → #4 DATA +[2] → #60 DATA[0] → #32012LT  #35bool#35 LT +bool + +[0] → — CTRL +[1] → #34 DATA +[2] → #18 DATA012If  #40[ Ctrl, Ctrl]#40 If +[ Ctrl, Ctrl] + +[0] → #32 CTRL +[1] → #35 DATA01True  #41/0Ctrl#41 True +Projection 0 of #40 +Ctrl + +[0] → #40 CTRLFalse  #42/1Ctrl#42 False +Projection 1 of #40 +Ctrl + +[0] → #40 CTRLCon  #461#46 Con +1 + +[0] → #2 ASSOC0Con  #518#51 Con +8 + +[0] → #2 ASSOC0Con  #523#52 Con +3 + +[0] → #2 ASSOC0Shl  #53int#53 Shl +int + +[0] → — CTRL +[1] → #34 DATA +[2] → #52 DATA012Add  #54int#54 Add +int + +[0] → — CTRL +[1] → #53 DATA +[2] → #51 DATA012Add  #56int#56 Add +int + +[0] → — CTRL +[1] → #34 DATA +[2] → #8 DATA012st_ary  #57MEM#5:Bot#57 st_ary +MEM#5:Bot + +[0] → #41 CTRL +[1] → #124 MEM +[2] → #28 DATA +[3] → #54 DATA +[4] → #56 DATA01234Add  #60int#60 Add +int + +[0] → — CTRL +[1] → #34 DATA +[2] → #46 DATA012Loop  #65Ctrl#65 Loop +Ctrl + +[0] → — ASSOC +[1] → #42 CTRL +[2] → #74 CTRL012Phi_i  #67int#67 Phi_i +int + +[0] → #65 ASSOC +[1] → #4 DATA +[2] → #103 DATA[0] → #65012LT  #68bool#68 LT +bool + +[0] → — CTRL +[1] → #67 DATA +[2] → #18 DATA012If  #73[ Ctrl, Ctrl]#73 If +[ Ctrl, Ctrl] + +[0] → #65 CTRL +[1] → #68 DATA01True  #74/0Ctrl#74 True +Projection 0 of #73 +Ctrl + +[0] → #73 CTRLFalse  #75/1Ctrl#75 False +Projection 1 of #73 +Ctrl + +[0] → #73 CTRLAdd  #88int#88 Add +int + +[0] → — CTRL +[1] → #131 DATA +[2] → #93 DATA012Shl  #91int#91 Shl +int + +[0] → — CTRL +[1] → #67 DATA +[2] → #52 DATA012Add  #92int#92 Add +int + +[0] → — CTRL +[1] → #91 DATA +[2] → #51 DATA012ld_ary  #93int#93 ld_ary +int + +[0] → #74 CTRL +[1] → #124 MEM +[2] → #28 DATA +[3] → #92 DATA0123st_sum  #94MEM#2:Bot#94 st_sum +MEM#2:Bot + +[0] → — CTRL +[1] → #104 MEM +[2] → #15 DATA +[3] → #4 DATA +[4] → #88 DATA01234Add  #99int#99 Add +int + +[0] → — CTRL +[1] → #138 DATA +[2] → #46 DATA012st_visits  #100MEM#3:Bot#100 st_visits +MEM#3:Bot + +[0] → — CTRL +[1] → #132 MEM +[2] → #15 DATA +[3] → #51 DATA +[4] → #99 DATA01234Add  #103int#103 Add +int + +[0] → — CTRL +[1] → #67 DATA +[2] → #46 DATA012MemPhi_2  #104MEM#2:Bot#104 MemPhi_2 +MEM#2:Bot + +[0] → #65 ASSOC +[1] → #16 MEM +[2] → #94 MEM[0] → #65012MemMerge  #106MemBot#106 MemMerge +MemBot + +[0] → — CTRL +[1] → #7 MEM +[2] → #104 MEM +[3] → #132 MEM +[4] → #29 MEM +[5] → #124 MEM012345Add  #112int#112 Add +int + +[0] → — CTRL +[1] → #138 DATA +[2] → #131 DATA012Return  #115[ Ctrl, MemBot, int]#115 Return +[ Ctrl, MemBot, int] + +[0] → #75 CTRL +[1] → #106 MEM +[2] → #112 DATA012MemPhi_5  #124MEM#5:Bot#124 MemPhi_5 +MEM#5:Bot + +[0] → #32 ASSOC +[1] → #29 MEM +[2] → #57 MEM[0] → #32012Phi_sum  #131int#131 Phi_sum +int + +[0] → #65 ASSOC +[1] → #4 DATA +[2] → #88 DATA[0] → #65012MemPhi_3  #132MEM#3:Bot#132 MemPhi_3 +MEM#3:Bot + +[0] → #65 ASSOC +[1] → #16 MEM +[2] → #100 MEM[0] → #65012Phi_visits  #138int#138 Phi_visits +int + +[0] → #65 ASSOC +[1] → #4 DATA +[2] → #99 DATA[0] → #65012Loop  #32Loop · 12 nodes−Fold regionLoop  #65Loop · 19 nodes−Fold region -- cgit v1.2.3