Scalameta

Scalameta

  • Trees
  • SemanticDB
  • GitHub

›Community

Trees

  • Guide
  • trees/quasiquotes
  • trees/examples
  • Scastie Playground
  • Scalameta AST Explorer
  • Scaladoc

SemanticDB

  • Guide
  • Specification

Community

  • Built with Scalameta
  • Presentations

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.

  • Video: https://youtu.be/1p_sYlgs7Lg
  • Slides: https://geirsson.com/assets/scalasphere-2018.pdf

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.

  • Video: https://www.youtube.com/watch?v=IPnd_SZJ1nM
  • Slides: http://scalamacros.org/paperstalks/2016-06-17-Metaprogramming20.pdf
← Built with Scalameta
  • How We Built Tools That Scale to Millions of Lines of Code (ScalaDays New York 2018)
  • Six Steps from Zero to IDE (flatMap(Oslo) and ScalaDays Berlin 2018)
  • SemanticDB for Scala developer tools (ScalaSphere Krakow 2018)
  • Semantic Tooling at Twitter (ScalaDays Copenhagen 2017)
  • Metaprogramming 2.0 (ScalaDays Berlin 2016)
Scalameta
Scalameta Docs
Trees GuideQuasiquotesSemanticDB
Scalameta Projects
Metals: language serverScalafmt: code formatterScalafix: linting and refactoring toolMUnit: testing libraryMDoc: documentation toolMetabrowse: online code browser
Community
GitHub
Copyright © 2025 Scalameta