~/talk

Integrating IDEs with Dotty, The Experimental Scala Compiler

slides:none on file

Dotty exposes a small interactive API and uses TASTy so IDEs see full typed trees stored in TASTy for both open files and classpath artifacts, enabling uniform queries like go‑to‑definition, find‑references, completion and rename. The LSP server is implemented with Eclipse LSP4J and integrates with VS Code; go‑to‑definition and most features are only a few hundred to under a thousand lines of glue code. Debugging supports expression evaluation by lifting expressions to generated static methods, sending class bytes to the remote JVM via the Java debug adapter.

AI-written summary · about

  1. 0:00INTEGRATING IDES WITH DOTTY
  2. 0:53A CHANCE TO REDESIGN COMPONENTS
  3. 1:30TOOLING
  4. 1:55STATE OF THE ART
  5. 3:08DESIGN PRINCIPLES
  6. 4:57SOURCE CODE
  7. 5:33TREE AFTER TYPECHECKING
  8. 6:16TREE AFTER CONSTANT FOLDING
  9. 6:34QUERYING THE COMPILER
  10. 12:16THE IDE PORTABILITY PROBLEM
  11. 14:13IMPLEMENTING THE DOTTY LANGUAGE SERVER
  12. 17:04SBT INTEGRATION
  13. 17:41CONFIGURATION FILES
  14. 19:03BUILD SERVER PROTOCOL
  15. 23:22GOING FURTHER: DEBUGGER SUPPORT
  16. 24:40EXPRESSION EVALUATION
  17. 25:56RUN THE COMPILER PIPELINE
  18. 26:30EXTRACT TO A STATIC METHOD
  19. 35:35FUTURE WORK
  20. 36:53CONCLUSION
  21. 38:18QUESTIONS ?
~/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.