Skip to content
0:00 / 0:00

#scala#dotcalculus#dotty

From DOT to Dotty by Martin Odersky

Devoxx

172K subscribers • 52 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2017 to 2024.
  • Presented by Martin Odersky, creator of Scala

Advanced. Deep dive for people who know the field.

5.5K views9 years ago2 recommendations

Programming languagesComputer scienceScalaLanguage design and type systemsComputation and complexity

Martin Odersky explains the Dependent Object Types calculus and how it serves as the foundation for the Dotty compiler and Scala's evolution.

Objects are useful because they are natural modules, that is, building blocks from which larger systems are defined. Static type systems are essential for fine grained control what information is exposed in a module, and, conversely, what one is free to change inside a module. A good module or object system should follow three principles: Everything can be nested in a module. Everything can be parameterized with a module. Module types are interfaces, which can be abstracted. In this talk Martin will present DOT, a particularly simple calculus that can express systems following these principles. DOT has been developed as the foundation of the next version of Scala. He will also report on dotty, a new Scala compiler that implements the constructs of DOT in its core data structures and that uses the lessons learned to drive Scala’s evolution. Martin Odersky created the Scala programming language and is a professor in the programming research group at EPFL, the leading technical university in Switzerland. Throughout his career, Martin’s singular objective has been to make the basic job of writing programs faster, easier and more enjoyable. In the process, he has personally written more lines of Java and Scala code than almost any other individual in the world. He wrote javac, the compiler used by the majority of today’s Java programmers, and scalac, the compiler used by the fast-growing Scala community. He authored “Programming in Scala,” the best-selling book on Scala. Previously he has held positions at IBM Research, Yale University, University of Karlsruhe and University of South Australia, after having obtained his doctorate from ETH Zürich as a student of Niklaus Wirth, the creator of Pascal.

Why it's here

2 people recommend this

What people say. Recommended as a resource for understanding the Dependent Object Types calculus.

Moments people linked to

u/know_not_muchin r/scala • Recommends

(Feb 2017) From DOT to Dotty by Martin Odersky

u/adamthekiwiin r/ProgrammingLanguages • Recommends

…richGrovesPOPL2020.pdf https://lampwww.epfl.ch/\~amin/dot/fpdt.pdf https://infoscience.epfl.ch/server/api/core/bitstreams/cf4bf222-c3be-4991-b901-b6e805b52742/content https://drops.dagstuhl.de/storage/00lipics/lipics-vol074-ecoop2017/LIPIcs.ECOOP.2017.27/LIPIcs.ECOOP.2017.27.pdf https://dl.acm.org/doi/pdf/10.1145/3428276 Relevant videos: [video [video [video…

u/Laseringin r/scala • Mentions

On “Syntax for guaranteed pure functions?”

I wouldn't take it out of the bag just yet. Have a look at this video From DOT to Dotty by Martin Odersky (skipped to the juicy part) where he talks about implicit function types and mentions effects explicitly as one possible use case, and with a very nice syntax to boost.
4View on Reddit

u/woztzyin r/scala • Mentions

On “Scala vs Kotlin”

A lot of other folks in the thread have expressed similar thoughts: it's nice to use a simple, flexible language with few, orthogonal features that offer consistent ways for libraries to handle various use cases instead of continually bolting on various inflexible ad hoc language-level solutions, and allows me to model a complex domain with complex data transformations, and to preclude a large class of invalid states. It promotes a principled approach that results in code that's far easier to reason about, extend, and maintain, at the (upfront) cost of newcomers having to learn some unfamiliar, more powerful constructs, which, if our goal is to comfortably get things done *well* (after ra…
3View on Reddit