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.
VP Engineering at Toptal, Bulgaria
Pierre-Yves is CTO and co-founder at Exoscale where he is responsible for architecture and strategic technology choices, relying on experience in the architecture of very large corporate system as well as technical product design in several startups. Pierre-Yves is an active member of the open-source community with key contributions to OpenBSD, collectd, and riemann amongst others.
Malcolm Sparks is the principal author and maintainer of yada, bidi and a number of other Clojure libraries. He is a founder of JUXT, a software firm working exclusively with the Clojure stack.
Mario Arias is a programmer with more than 10 years of experience, mostly on JVM languages: Java, Groovy, Scala and Kotlin. An active member of the Kotlin community from the very first days, he created and maintain several Kotlin libraries. On his free time he trains BJJ and enjoy long cycling trips.
Jon has been involved in the Scala community for over a decade, having launched the first commercial and open-source Scala software back in 2005. Since then, he has successfully deployed Scala projects into small, medium and large businesses, and UK government, but is best known these days for his work on Rapture, the Scala World conference, and as chair of the Scala Center Advisory Board.
Engineer, SoundCloud Ltd.
Nikita has been working with web for more than 10 years now: back-ends on Java, Python, Erlang, Clojure, front-ends on ClojureScript, distributed systems, interfaces and UX. He's the author of DataScript, Rum, Fira Code and AnyBar.
Curiosity is my use case. Clojure developer. Author of Clojure's liberator. Father of four. Creating web services since 1996.
Haskeller, FP evangelist, tech saneness advocate, CTO at Typeable
Iaroslav Karkunov is a software developer from Kyiv, Ukraine. He has great expertise in mathematics and has been programming for 12 years. Iaroslav became interested in the functional programming since he started working with FP-languages 3 years ago. Currently, he is a team-lead in one of the most prominent e-learning companies in Europe - Area9Learning. Iaroslav is focused on the following stack of technologies - Erlang, Elixir, Phoenix, Elm and doing research about functional programming and its connections with mathematics.
Ruslan is a leader of Belarus Kotlin User Group and Java Professionals BY community driver, full stack developer at ObjectStyle. Every day he reads news and articles from more than 500 sources using RSS. He likes to explore new technologies and aspires to get a deep understanding of the problem. Hackathons, meetups and conferences? Yes, this is about him. Linux and other Free Software - runs the world.
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.
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
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.
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).
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!
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.
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.
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.
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.
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.
Basic principles of functional programming in Javascript (Ramda, FL)
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.