~/talk

Self-Tagging Numbers

links:none on file
links:none on file
links:none on file
slides:none on file

Extends float self‑tagging to SML/NJ by applying a reversible bit transform — left rotate by three and XOR with 6 — to make common 64‑bit integers distinguishable from pointer/header patterns and fall back to heap allocation only for conflicts. Compiler emits wrap/unwrap at polymorphic boundaries so arithmetic stays native; preliminary benchmarks set native 64‑bit as default and report no heap allocation for most integers with up to ~30% speedup and a few pathological slow cases under investigation.

AI-written summary · about

  1. 0:00Self-tagging numbers intro
  2. 1:03Integers need tagging in polymorphism
  3. 2:28History of number representation
  4. 4:12Monomorphization alternative
  5. 6:45Tag integers in SML/NJ
  6. 7:07Self-tagging floats in Scheme
  7. 8:52Self-tagging principle
  8. 10:15Advantages in ML
  9. 12:00Self-tagging integers
  10. 13:47Wrap and unwrap ops
  11. 15:32Wrap/unwrap performance
  12. 16:59Rare integer ranges
  13. 17:20Tagging in polymorphism only
  14. 18:06Type system and coercions
  15. 20:17Coercion generation in IR
  16. 21:21Lowering and type application
  17. 22:02Uniform representation invariants
  18. 23:25Optimizing type applications
  19. 24:09Specialization to avoid polymorphism
  20. 24:50Arithmetic in monomorphic
  21. 25:54Central message of self-tagging
  22. 26:15SML/NJ implementation
  23. 27:17Performance results
  24. 28:00Q&A
~/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.