~/talk

Behavioural up/down casting for statically typed languages

Talkat ST30 2023 · 2023-10-22..10-23· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

A typestate-based Java tool called JaTyC typestate checker attaches protocols to classes and now supports upcasts and downcasts in the middle of an object’s protocol by constructing union and intersection typestates and re-running a simulation-based subtyping algorithm where needed. The casting theory is mechanised casting theory with Coq proofs of soundness, implemented on the Checker Framework and open-sourced; practical tests show expressive handling of real Java patterns, though full type-safety relative to a core language is future work.

AI-written summary · about

  1. 0:00Behavioural up/down casting intro
  2. 2:01Improving polymorphism in static typing
  3. 3:38Subtyping relations in protocols
  4. 5:29Downcasting with union types
  5. 6:57Upcasting with intersection types
  6. 8:04Type state in if branches
  7. 12:37Type state definitions
  8. 13:23Java Type State Checker
  9. 14:37Future work and tools
  10. 15:18Q&A
  11. 17:09Q&A: Explicit vs inferred states
  12. 19:14Q&A: Casting in OOP
  13. 20:05Q&A: Type state after casting
~/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.