~/talk

Pattern Matching

Talkat JVM Language Summit 2017 · 2017-07-31..08-02· [java]
slides:none on file

Proposes encoding deconstructors as class members implemented as method handle tuples so common cases (instanceof + field access) are allocation free and inline like handwritten code, with more complex matches using a hidden carrier state for one-word precomputation. Uses a constant_dynamic bootstrap to link pattern constants and composable combinators, and a selector via invokeDynamic that yields an int for O(1) switch dispatch. Discusses composition, separate compilation and binary-compatibility tradeoffs and migration paths.

AI-written summary · about

  1. 0:00Intro
  2. 0:20Pattern Matching
  3. 9:02Example: Evaluating Expressions
  4. 12:37Use-site polymorphism
  5. 14:54What's Going On?
  6. 17:10Language Feature, or VM Feature?
  7. 19:29Are Patterns Methods?
  8. 22:03A Compiler Writers Wish List
  9. 22:52Fetch Me My Magic Hammer
  10. 24:34Performance Goals
  11. 26:10Intermediate Carriers
  12. 27:38A Strawman
  13. 29:24Invoking Dtors
  14. 33:10Composing Dtors
  15. 35:54Translating Pattern Switch
  16. 38:55Binary Compatibility
  17. 40:04Summary
  18. 46:02Example: Simplifying Expressions
~/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.