Functional Miners #14
- Algebraic Effects
Talks and Speakers
Title: Object oriented programming vs Protocol oriented programming - short story about translating complicated world into legible code
Abstract: During the presentation, I will talk about both paradigms, their advantages and limitations. You can expect examples, dragons and yes, naming considerations (who never went for a coffee, because had no idea how to name the class, let him throw the mouse first!)
Bio: Senior iOS Developer at The Software House, in love with Swift and the idea of reading the code like poetry. Well, at least like a good novel!
Previously, Creative Technologist in Netizens, focused on the creative use of technology in marketing. Associated with Medialab Katowice, where she conducts workshops on the basics of electronics and programming, working with Arduino and Bare Conductive platforms. Curator of art+bits: festival of art and technology. A big fan of handcrafts and DIY movement.
Title: Algebraic Effects
Abstract: Algebraic effects are a new idea for doing computational effects (I/O, mutable state, exceptions, randomization, nondeterminism, etc.) in functional programming. They allow the programmer to define their own effects on an appropriate level of abstraction, which leads to very readable code without forfeiting the static typing discipline. Algebraic effects have a few advantages over monads: they seem conceptually simpler (no need for category theory whatsoever), they offer a much more sensible approach to programming with a number of different effects at a time (no need for irritating transformers), and one programs with them in the more traditional, ML-like style, with no need for structuring computations in the “monadic” style (which, in practice, is the imperative style).
Algebraic effects are a hot-off-the-press, brand-new idea, but a few usable languages and libraries are already available for experimentation. At the moment the most developed language featuring algebraic effects is Microsoft Research’s Koka, but the competition (including our Wrocław team) is not far behind.
During my talk I will do some hand-waving trying to explain how algebraic effects work anyway, and I’ll give a few examples.
Bio: I’m a computer scientist currently at the University of Wrocław. I’m working on the theory and practice of functional programming. My programming mother tongue is Haskell, but in my research I focus on the next generation of programming languages.
Title: Rust - operating-level functional language - why is it so interesting?
Abstract: The purpose of this lecture is to show what kind of language is RUST, what are its advantages and disadvantages. I will present interesting mechanisms (eg how to handle variables) from the point of view of a person fascinated by C and C ++ system languages during their studies, who nostalgically long for unlimited possibilities, efficiency and accessible language for use.
Bio: During the day Lead Engineer / Senior Software Developer in Future Processing, at night - he sleeps. More than 8 years of experience when it comes to various IT technologies (with specialization in .NET) and various domains, including those where no one wanted to jump in. Currently focused on creating solutions related with data processing and big data based on Microsoft Azure public cloud and following set of tools - Apache Spark, Data Lake Storage, Data Lake Analytics, Data Factory.
Contributor at Devenv.pl. Co-creator of DevCast podcast.
Lecturer and co-organizer of various IT related events - including Summer Internships at Future Processing, WUD Silesia, Gliwice Software BarCamp oraz lecturer at Silesian University of Technology.