Andrea Mocci - Teaching Domain Specific Languages in Scala | Scala Days 2023 Seattle

  Рет қаралды 1,193

Scala Days Conferences

Scala Days Conferences

Күн бұрын

Teaching Domain Specific Languages in Scala
In 2017, I was asked to teach a small, 3 credits master course on engineering domain specific languages. At the time I was already a Scala enthusiast, and I had no doubt that it would have been the best language to teach this course. While learning about DSL, students are introduced to the basics like functional domain modeling, parser combinators, extension and symbolic-named methods, but also advanced topics like metaprogramming, and how to implement programming language features in Visual Studio Code (using Scala.js).
After a brief introduction on DSLs and the context where I teach them, the talk will focus on two main areas:
Why Scala is suitable for internal and external DSL development, i.e., what are the characteristics of the language, the platforms, and the libraries in the community that make it amazing to teach (and engineer) DSLs.
How to structure a course and what are the possible topics and areas to cover, including how to design compelling assignments where students build software inspired by real DSLs.
The talk will include examples of what the best students were able to achieve. Furthermore, I will pinpoint controversial aspects concerning the actual state of the language, libraries, and tools that are connected to DSL development, and debunk a few misconceptions around DSLs that made them a little unpopular in the Scala world.
Andrea Mocci
Scala Center
I am currently a Junior Group Leader at CodeLounge, a R&D group headed by Dr. Marco D’Ambros and Prof. Dr. Michele Lanza. My main responsibilities include being the tech lead for CodeLounge’s team and projects, and a lot of actual development, mostly on the backend side, including as well machine learning, natural language processing.
I am passionate about functional programming in many flavors, e.g. languages like Scala and reactive technologies like Akka. Apart from R&D, I do a lot of teaching. I have been the lead developer of Tako, an extension for Visual Studio Code that records many aspects of your programming activity and provides a digest to allow some self-reflection on what you have done, how you spent your time, and which entities you worked on.
In the past, I’ve been a postdoctoral researcher at USI Lugano, and at MIT. I got my B.Sc., M.Sc. and PhD at Politecnico di Milano, where I have been advised by Prof. Carlo Ghezzi.

Пікірлер: 2
@vitaliiivanov9514
@vitaliiivanov9514 3 ай бұрын
That's really lots of cool stuff for DSL development. Convinced me to really learn Scala!
@joey2949
@joey2949 Жыл бұрын
Thank you! :D you really helped me.
Wojciech Mazur - Explaining Different Coroutine Flavours using Scala Native
37:16
Amazing Parenting Hacks! 👶✨ #ParentingTips #LifeHacks
00:18
Snack Chat
Рет қаралды 18 МЛН
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 196 МЛН
Tomas Mikula - When your DSL Needs to Support User-Defined Functions
42:18
Scala Days Conferences
Рет қаралды 529
Renaissance of Terminal User Interfaces with Rust - FrOSCon 2024
53:23
Orhun Parmaksız
Рет қаралды 2,5 М.
Guillaume Martres - Polymorphic Function Types in Scala 3
40:14
Scala Days Conferences
Рет қаралды 927
David Amancio Gil Méndez - Diamond Architecture on Scala 3
41:28
Scala Days Conferences
Рет қаралды 1 М.
Martin Kučera - Tyqu: Typesafe SQL Queries in Scala
36:57
Scala Days Conferences
Рет қаралды 956
Nicolas Rinaudo - When is an ADT not an ADT?
37:25
Scala Days Conferences
Рет қаралды 1,5 М.
Nicolas Stucki - Implementing a Macro
35:11
Scala Days Conferences
Рет қаралды 1,4 М.
Paul Matthews - Sounds of Structure - Music Modelling with ADT's
42:26
Scala Days Conferences
Рет қаралды 780
"I use Debian BTW": fzf, tmux, zoxide and friends
23:46
Samuel Henrique
Рет қаралды 1,2 М.