Ruslan Shevchenko — From Akka to Labelled Transition Systems — semi open questions

Can we say that Akka with new typing interface now ‘math-frienly’ ? We will show possible relation between Akka behaviour and well-studied math objects — Labelled Transition Systems (LTS). LTS can represent complex behaviors in composable and functional form. Other part of story — exists many techniques for operating with LTS specifications in a formal way, can we map this …

Ruslan Shevchenko — From Akka to Labelled Transition Systems — semi open questions

Can we say that Akka with new typing interface now ‘math-frienly’ ? We will show possible relation between Akka behaviour and well-studied math objects — Labelled Transition Systems (LTS). LTS can represent complex behaviors in composable and functional form. Other part of story — exists many techniques for operating with LTS specifications in a formal way, can we map this …

Michał Kowalczykiewicz — Love Affair Between Functional & Declarative Programming (45 minutes)

In this presentation I will show how we combine declarative and functional programming. Many of our retail-apps run on LogicBlox (application framework) and are written in the pure-declarative language LogiQL (implementation of first-order logic, superset of Prolog/Datalog). Both of these technologies are developed at Infor/Predictix. What is interesting is that some time ago we started to… generate the declarative code. …

Paweł Szulc — Formal specification applied (with TLA+) (45 minutes)

Formal verification promises software without bugs. At the same time even its name scares programmers away («It’s math! run for your lives!»). This talk will familiarize you with one form of formal verification: a model checker — one that is available in a formal specification tool called TLA+. To convince and encourage you that (at least) some techniques are easy …

Pavel Shirshov & Michael Feldman — distage: Modern Dependency Injection for Scala (45 minutes)

Many Scala developers nowadays consider using Dependency Injection frameworks an anti-pattern incompatible with modern FP settings. We argue that it’s just a consequence of a bad experience with legacy Java runtime reflection-based implementations that lack features important for modern functional programming, such as a first-class support for higher-kinded types. We argue that as a paradigm for structuring purely functional programs, …

Maksym Ratoshniuk — LogStage: Zero-cost Structural Logging for Scala (45 minutes)

Everybody needs logs. Humans and machines. Logs should be structured, json and text format. Library should me modular, provide full customisation of router, rendering policies, sinks, dynamic client context. What if we could provide a such logging library with compile-time structure and context extraction which satisfies both? Let’s dive into LogStage and try to implement own asynchronous sink for logs. …

Wiem Zine Elabidine & Oleksandra Holubitska — Tour of ZIO

This talk is an introduction of purely functional programming type safe abstractions that provide a variety of features for building asynchronous and concurrent applications data structures built on ZIO. By the end of the presentation, you’ll learn about the power of functional programming to solve the hard problems of software development in a principled way, without compromises.