~/talk

Living The Loopless Life: Techniques For Removing Explicit Loops And Recursion

Talkat LambdaConf 2024 · 2024-05-04..05-10· [javascript]
slides:none on file

Claim: a full compiler and parser is implemented in APL without explicit loops or recursion, written as a loopless data-parallel compiler that targets GPU self‑hosting. Tools and tactics: heavy use of array primitives, rank polymorphism, idioms like parent index vector encodings for trees, exclusive scan and replicate to compute offsets and multiplicative replication (parent 4x causes child 16x). Architecture: a nanopass architecture of linear passes and one fixed‑point step; the system runs and debugs via array inspections.

AI-written summary · about

  1. 0:00APL for high-level tasks
  2. 2:58The user experience of APL
  3. 6:07Core APL arrays and primitives
  4. 10:22Functional programming in APL
  5. 12:30Iteration and structural tools
  6. 17:18Built-in algorithms and idioms
  7. 20:10Using idioms for reasoning
  8. 25:06Encoding domain logic into arrays
  9. 30:14Architecting loopless systems
  10. 33:21Case study: Function specialization
  11. 38:28Principles of good notation
  12. 41:35Q&A: Debugging and performance
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.