~/talk

Logically Qualified Types for Scala 3

Talkat The Scala Workshop 2025 · on Sunday, 2025-10-12· [scala]
links:none on file
slides:none on file

Prototype adds compiler-integrated refinement types to Scala 3, letting types carry boolean predicates that the compiler checks. Implementation uses a lightweight, internal solver based on E-Graph normalization solver, constant folding, unfolding of local vals and congruence to prove implications, so zip/concat length equalities typecheck statically while mismatched cases fail at compile time. Predicates forbid mutable refs and non-case-class equality; runtime-checked casts and pattern-match narrowing bridge static gaps.

AI-written summary · about

  1. 0:00Introduction
  2. 1:08Motivational zip example
  3. 2:55Verification limits
  4. 4:00Logically qualified types
  5. 6:57Qualified types syntax
  6. 7:41Concat example compile checks
  7. 8:25Predicate language limits
  8. 10:12Selfification derivation
  9. 11:37Runtime checks pattern matching
  10. 13:03Type erasure runtime checks
  11. 13:49Subtyping rules
  12. 14:52Solver implementation
  13. 17:20Future work and SIP
  14. 17:41Conclusion
  15. 18:01Q&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.