f(by) — Conference on Functional Programming

F(by) is the only functional programming conference in Belarus.

This year we have decided to focus on web development with functional programming. Presentations will be divided into 2 blocks: backend и frontend.

In the backend-part we'll see how tasks, that are standard for web, are being solved on such languages as Clojure and Scala, we'll also talk about functional approach in Kotlin.

In the frontend-part we'll focus on reactive programming with the use of functional technologies. We'll show how reactive programs are written with such languages as ClojureScript, PureScript, JavaScript, TypeScript.



  • 10.00 – 10.45


  • 10.45 – 11.00

    Greetings by FuncBY community leaders, opening

  • 11.00 – 11.40

    Overview of Type Level Programming Technics in Scala

    George Leontiev

    With the release of Scala 2.12 and work on dotty, things, that were possible only in runtime, become more realistic during compilation. In this presentation we'll consider classic practices of type level programming in Scala, as well as we'll learn how they will be influenced by new progress in compilers technologies that are worked at in EPFL.

  • 11.40 – 12.20

    Functional Programming in Kotlin with funKTionale

    Mario Arias

    A fast introduction to Kotlin programming language and its functional features alongside with funKTionale library * A tiny introduction to Kotlin * Function types * Extension points * Function composition, currying and partial application * Option, Either and Disjunction * Future developments

  • 12.20 – 12.40


  • 12.40 – 13.20

    Category theory, composition and functional programming

    Iaroslav Karkunov

    Category theory seems to be too abstract or too complex for many newcomers. But the essence of it is truly simple - composition, which we use while solving our problems not only in programming, but in our everyday life. Don't worry, even if you hate math - you still could do the category theory, because it is very different from the general mathematics. So let's learn about this together and talk about the basics of the category theory and their connections to the functional programming and our life.

  • 13.20 – 14.00

    FullStack Web with Kotlin

    Ruslan Ibragimov

    Nowadays we have a choice from the set of languages for web: JavaScript, TypeScript, Scala.js, ClojureScript, Elm and so on and so on. But only few of them become industrial standard. Kotlin - is a new (but already mature) language for JVM, JavaScript and Native in future. Let's see, how we can build both web and backend with them and 3R (Reactive React-Redux).

  • 14.00 – 15.00


  • 15.40 – 16.20

    CIDER: Inside the Brewery

    Bozhidar Batsov

    A visit to CIDER's brewery where all the magic is happening. On this exciting journey you'll learn more about the current state and the future of the CIDER project. You will explore recently added features and CIDER's next release. You will also take some time to speculate about the future and you will discover the more ambitious plans lying around in our cellar. But above else - you'll have some fun while doing so!

  • 15.00 – 15.40

    Functional Monitoring with Riemann

    Pierre-Yves Ritschard

    Riemann is a specialized stream-processing engine, dedicated to monitoring distributed systems. Built on top of Clojure, it provides a comprehensive syntax for dealing with events. In this talk we will walk through the underlying concepts and the benefits of internal DSLs in Clojure.

  • 16.20 – 16.40


  • 16.40 – 17.20

    Interpolating Strings Like A Boss

    Jon Pretty

    Most people are familiar with the `s"Hello, $name"` syntax for composing strings, but that only touches the surface of what is possible in Scala. By combining it with other advanced Scala features such as implicits and macros, we open ourselves up to numerous powerful opportunities with applications in domain-specific languages and type-level programming.

  • 17.20 – 18.00

    How to sell FP?

    Denis Redozubov

    While functional programming is slowly starting to get friction and get accepted by the mainstream software development circles, we're starting to face an issue of clearly stating why it matters and how it brings value to the table.

  • 18.00 – 18.30

    Lightning Talks

  • 11.00 – 11.40

    Creating Web Services with Liberator

    Phillip Meier

    Liberator is a clojure liberator to create web services that fully embrace the REST architectural style. In this talk you will learn about the motivation to create liberator and how it's very declarative style allows you to build resources that strictly conform with the HTTP semantics and leverage the full potential of HTTP.

  • 11.40 – 12.20

    yada, yada, yada (and some bidi)

    Malcolm Sparks

    Few inventions have brought the world closer together than HTTP, and what HTTP did for humans back in the 90s it's doing for machines today. Yet most developers only scratch the surface of this crucial protocol, why is that? One possible answer is that it's a tooling problem - we haven't yet developed sufficiently capable tools, tools that can industrialize the creation of APIs, powering the integration of the digital economy. By doing so, we might start to harness the full value of the protocol in helping our software to scale and adapt to change. This talk will provide a full tour of the features offered by yada and bidi, and what the libraries offer a web developer working in the Clojure language.

  • 12.20 – 12.40


  • 12.40 – 13.20

    Functional Programming and JS

    Denis Stoyanov

    Basic principles of functional programming in Javascript (Ramda, FL)

  • 13.20 – 14.00

    How Front-Ends Work on ClojureScript

    Nikita Prokopov

    Many things, that a couple years ago seemed to be a strange extravagance or unjustified large burden, have today come into the toolkit of Java-Script developer: modules, compact syntax, transpilers, immutableness, data structures, typification. All these are borrowed from other, more mature, or visa versa more experimental ecosystems. In the presentation we will do an insight into the world of ClojureScript front-ends, we'll look at how ClojureScript developers live and breathe, what projects, how and with what they do. Our aim will be to find inspiration for new ideas and approaches which can be successfully applied in JavaScript applications.

  • 14.00 – 15.00


  • 15.00 – 15.40
  • 15.40 – 16.20
  • 16.20 – 16.40


  • 16.40 – 17.20

    Deep Dive

    Bozhidar Batsov

    Deep dive into technology

  • 17.20 – 18.00


  • Space 1287
  • Сообщество FuncBy 219


  •  2125
  •  2004
  •  1028

Partners and participants

  •  1941
  •  2123
  •  2024


  • dev.by 3
  •  2118
  • DOU 14
  • dev.by 913
  •  438
  •  2119
  •  2117
  •  2120
  •  434
  •  426
  •  448
  •  2124
  •  2126
  •  2127
  •  2128
  •  2129
  •  2130
  •  2131
  •  2132
  •  2133
  •  2134
  •  2135
  •  430
  •  1109
  •  433
  • html5.by 91
  • Minsk Python Meetup 97
  •  1206
  •  432
  •  443
  • comaqa.by 76
  • Belarus JUG 1339
  •  2136
  •  2137
  • 4front 90
  • wth 96
  • DevClub 1296