«ScalaMeta and the Future of Scala», Alexander Nemish
Martin Odersky, creator of Scala, and his team work on a new language called Dotty, which aims to become the next Scala6 major version. They claim to deprecate Scala macro system on behalf of Scala Meta – a clean-room implementation of a metaprogramming toolkit for Scala, designed to be simple, robust and portable. We will take a look at upcoming language changes, Scala Meta, and Scala Native – an optimizing ahead-of-time compiler and lightweight managed runtime.
«Functional programming techniques in real world microservices», András Papp
Functional programming is very rich in exciting theories and concepts, but for newcomers it can be challenging to apply them in their day to day work. In this presentation I will show a couple of situations from our recent projects where some techniques from the functional programming toolset came in handy. This is a practical talk so expect to see a lot of code from real world projects.
«Rewriting Engine for Process Algebra», Anatolii Kmetiuk
Process algebras are worth studying, because they greatly simplify event-full programming, where several processes may communicate one with another. A good example is GUI applications, where a work done by the application may be interrupted any time by the user pressing "Cancel" button. This talk describes an attempt to build a process algebra engine in a functional way, using concepts of category theory and type-level programming.
«Building DSLs with Scala — DSLs are everywhere», Alon Muchnick
DSLs are everywhere. Have you ever used SQL, Ant or maybe HTML? If so you were using a DSL, maybe without realizing it. Domain-Specific Languages, or DSLs, provide convenient syntactical means of expressing goals in a given problem domain. A well-crafted DSL communicates the essence and means of the domain it represents in a natural way, so that you don’t even think about its underlying technology. Scala’s rich, flexible syntax combined with its OO and functional features makes writing DSLs a breeze. In this talk I'll introduce the concept of DSLs, where to best apply them, their pros and cons, and how to integrate DSLs into your core application. We will see a practical example of how to lever the tools Scala gives us and build our very own tax calculation DSL.