Alexander Granin
Alexander Granin
I am a book author, international speaker, researcher, software architect, and seasoned software engineer. I am a recognized figure within the Haskell community, renowned for pioneering ideas in the world of functional programming. I have authored two books: "Functional Design and Architecture" (in two editions) and am currently working on my third book, "Pragmatic Type-Level Design." Additionally, I have created my own development methodology known as Functional Declarative Design, serving as a counterpart to Object-Oriented Design. With over 14 years of experience across various programming stacks, including C++, Haskell, C#, and Python, I have traversed the full spectrum of roles, progressing from a regular developer to a software architect and team lead. I have previously served as a member of program committees for C++ conferences, including C++ Siberia and C++ Russia. I was working with the speakers all around the world to help them prepare their talks and to make their participation in the conferences smooth and joyful. As a seasoned speaker, I have delivered more than 20 talks at both local and international conferences, including a keynote presentation on functional C++. My personal mission revolves around providing practical insights into constructing industrial-grade applications using concepts from functional programming.
C3 Dev Festival 2024C3 Dev Festival 2024
Jun 13, 22:00
Functional Design of Domain-Specific Languages in Python
Workshop
So why bother with functional programming in Python? Python is an object-oriented and imperative language, and Guido really dislikes when people bring functional elements into it. Maybe we shouldn't either? However, upon closer examination, it turns out that Python has everything necessary for quality functional code, and some approaches from functional programming can be quite useful in practice, no matter what old Guido says. In this workshop, we will be designing domain-specific languages (DSLs) for programming simple console games.
Register