Paweł Szulc

Scala Developer at Pyrofex

Paweł Szulc is a seasoned developer with a rich background in functional programming languages, including Scala and Haskell. Known in the developer community as "EncodePanda," Paweł is passionate about exploring complex software design patterns and bridging the gap between practicality and expressiveness in code.

Recently, Paweł has expanded his expertise to include Rust, intrigued by its powerful system-level programming capabilities and the language’s emphasis on memory safety without sacrificing performance. His transition to Rust aligns well with his interest in leveraging expressive type systems to write robust, efficient software.

In the late 1960s it was already well established fact, that any arbitrary complex programming language can be represented as an evidently tiner "core" language. Lambda calculus or Turing machines are one of the well known examples of such languages. However they all shared common constrain - ability to model only sequential computation. With rise of distributed systems and multicore architecutres, industry needed a new formalism to represent calculations that run concurrently. This talk is an introduction to process calculus - a family of related formalisms that model concurrent systems. They describe high-level interactions between a collection of independent processes and also algebraic laws that allow process descriptions to be analyzed and reasoned about their equivalences.

This talk describes in detail two process calculi: Pi Calculus and its natural successor Rho Calculus. Haskell library called distributed-process (also known as Cloud Haskell) will be used to show live code examples. Cloud Haskell is a library which allows message-passing programming style, similar to the one known in Erlang or Akka (Scala). Attendees should be familiar with simple Haskell syntax and Lambda Calculus, however some limited introduction to both the language and the formalism will be covered as well.

Slides
Video ←Back