~/talk

Expeditious Code via Inference

links:none on file
slides:none on file

ClojureScript now uses improved type inference to emit leaner JavaScript: unchecked ifs and direct logical operators replace cljs.core.truth checks when booleans are inferred; string coercion elision removes unnecessary .toString joins; return type inference lets the analyzer warn on e.g. adding numbers to strings. Experiments show specialization and direct field lookup yield big speedups (examples: 10–6,300% and 66–450%), rest/param inference and externs inference reduce runtime checks, and REPL rebinding can still produce stale-optimized code.

AI-written summary · about

  1. 0:00Expeditious Code
  2. 0:54VOUCH
  3. 1:08Intro & Rationale
  4. 2:29Definitions
  5. 4:08History
  6. 5:14Overview
  7. 6:28Macro-Functions
  8. 9:16Checked if
  9. 11:00Logic
  10. 13:00String Coercion Elision
  11. 15:06Perf Measurement
  12. 17:00CLJS Type System
  13. 17:44The Type System
  14. 20:34Type Canonicalization
  15. 21:44Type Hinting
  16. 24:35Return Type Inference
  17. 26:02Predicate-Induced
  18. 27:24loop / recur Widening
  19. 30:20Calcification
  20. 32:38Compiler Perf
  21. 34:34Experiments
  22. 34:45Specializations
  23. 35:43Direct Field Lookup
  24. 36:52Rest Args
  25. 37:33Parameter Type Inference
  26. 39:47Interacting with Closure
  27. 40:32Other Uses
  28. 42:27Summary
~/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.