Presentations
How We Built Tools That Scale to Millions of Lines of Code (ScalaDays New York 2018)
This talk outlines the work that we did at Twitter to add semantic functionality to code browsing, code review and code evolution tools. We use SemanticDB - an opensource data model for semantic information developed in Scalameta. We have implemented experimental improvements to the Twitter development workflow, integrating opensource and closed-source solutions.
- Video: https://na.scaladays.org/schedule/how-we-built-tools-that-scale-to-millions-of-lines-of-code
- Slides: http://scalameta.org/talks/2018-06-20-HowWeBuiltToolsThatScaleToMillionsOfLoc.pdf
Six Steps from Zero to IDE (flatMap(Oslo) and ScalaDays Berlin 2018)
This talk is about the Language Server Protocol and Metals, a language server for Scala that we are building with SemanticDB. The talk explains the architecture of Metals and what components are needed to build a good interactive editing experience for Scala.
- Video: https://slideslive.com/38908105/six-steps-from-zero-to-ide
- Slides: https://geirsson.com/assets/flatmap-2018.pdf
SemanticDB for Scala developer tools (ScalaSphere Krakow 2018)
This talk covers what SemanticDB is and how it enables a new way to build developer tools for Scala. We show how SemanticDB data looks like, explain how to use the utilities metac, metacp, mtags and mtags to produce and read SemanticDB, and how applications like Scalafix, Metabrowse and Metals are using SemanticDB today.
Semantic Tooling at Twitter (ScalaDays Copenhagen 2017)
This talk introduces semantic databases, the cornerstone of the Scalameta semantic API, and explains how semantic databases can be used to integrate with Kythe, a language-agnostic ecosystem for developer tools. In this talk, we presented our vision of next-generation semantic tooling for the Scala ecosystem.
- Video: https://www.youtube.com/watch?v=4yqDFsdKciA
- Slides: http://scalameta.org/talks/2017-06-01-SemanticToolingAtTwitter.pdf
Metaprogramming 2.0 (ScalaDays Berlin 2016)
This talk explains the status of Scalameta, demonstrates key features, presents the early adopters and publishes our plans for the future. The centerpiece of the talk is the demo of a new macro system for Scala, which is no longer part of Scalameta. Nonetheless, the talk still does a good job of showcasing potential usecases for Scalameta and highlighting contributions from our amazing community.