~/talk

Hashing Modulo Alpha Equivalence

Talkat YOW! 2021 · 2021-11-30..12-02· [compilers-and-language-design]
slides:none on file

Presents an algorithm that hashes lambda terms modulo alpha‑equivalence by summarizing each node into a structure + free‑variable map and then hashing those summaries with ordinary hashconsing. Key techniques: only adjust the smaller map when merging (gives n log n work per level), record depths and a bigger‑side flag in structures, and use XOR as a weak commutative hash combiner so deletions are cheap. Achieves O(n*(log n)^2) time, low collision probability, Haskell prototype, and better practical performance than locally‑nameless approaches.

AI-written summary · about

  1. 0:00Introduction
  2. 0:41Problem Statement
  3. 1:48Hashconzing
  4. 2:50Example
  5. 3:38Avoiding false positives
  6. 4:10False negative example
  7. 5:04Hashconzing example
  8. 6:19Divine Notation
  9. 10:25The Problem
  10. 10:50ESummary
  11. 12:35Free Variable Map
  12. 16:58Summary
  13. 21:57Hash Constable
  14. 22:33Hash Summary
  15. 26:52App Node
  16. 27:03App Node Example
  17. 30:04App Depth Example
  18. 35:12Positivity in Substitution
  19. 36:08Haskell Program Example
  20. 38:23Hash of Depleted Variable Map
  21. 39:15Hash Exponential
  22. 40:58Collisions
  23. 42:06Rough Summary
  24. 42:48Proof
  25. 45:23Synthetic Benchmarks
  26. 46:37Big Expressions
  27. 46:47Conclusion
  28. 47:02Conclusions
~/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.