~/talk

Gradually Typing Strategies

Talkat SLE 2020 · 2020-11-16..11-17· [compilers-and-language-design]
links:none on file
speakerdeck:eelcovisser
slides:none on file

Adds a gradual type system to Stratego with a prototype type checker and cast inserter that type-checks code and emits runtime casts; applied to Jasmin (an existing Java bytecode assembler) with 3,200 LOC, 36 files, 146 strategies/rules, producing 117 new top-level type signatures of which 85 are fully static. The prototype finds real bugs (mismatched literal types, overly general patterns, list-vs-element confusions), preserves generic traversals via type-preserving strategies, and leaves runtime cast insertion and performance engineering for future work.

AI-written summary · about

  1. 0:00Intro
  2. 1:02Stratego Usage Scenario
  3. 2:07III-Typed Trees Must Be Allowed
  4. 3:09Idiomatic Transformation Pipelines
  5. 3:26Types Already in Stratego
  6. 5:11Rewrite Rules: Execution
  7. 5:27Strategies
  8. 8:08Type System Requirements
  9. 8:57Gradual Types to the Rescue
  10. 9:26Top-Level Type Annotations and Patterns
  11. 10:15Type Inference for Variables
  12. 10:28Type Preserving Transformations
  13. 11:47Evaluation on Jasmin (Assembler)
  14. 12:39Evaluation on Jasmin (Interpreter)
  15. 14:01Future Work
  16. 14:41Conclusion
~/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.