Hello!
On December 2, we are waiting for everyone who likes to do it functionally at the third
FPConf conference - conferences about Haskell, Scala, Clojure, Elixir, Kotlin, F # and functional approaches in programming frontends, backends and anything on everything. More monads, lambdas, closures! Immunity everyone, friends :)
Traditionally, we invite both experienced functionaries and those who just want to get inspiration and expand their horizons.
')
The price of the ticket now is 5,000 rubles.
Register here .What is in the program:
Arnaud Spiwack , core developer, Coq Proof Assistant, senior architect at Tweag I / O
USING HASKELL TO GREAT EFFECTIt is beyond cliché, nowadays, to say that testing is really important. It can be wrong. Unfortunately, it is hard. All our files, data-bases, and so on. But even so, we’re only scratching the surface. How do we test for absence of deadlocks? Of races?
I / O intensive programs. There is no need for a mock up. Uplocking and races. This will encourage you to talk to your programs.
Denis Shevchenko , co-founder of the ruHaskell community, author of the book “About Haskell Humanly”, developer at IOHK.
CARDANO: HASKELL GOES INTO A WORLD OF CRYPTTURESNoise and excitement around the theme of cryptocurrency do not fall silent. Interest in this topic is growing day by day, because the blockchain technology has already proven its innovative efficiency. Before our eyes there are new cryptocurrency systems, more and more convenient and secure. Cardano SL is the first of these systems written in Haskell. It is about my features, prospects and why Haskell is, after all, discussed in my report.
Nikolai Ryzhikov , the technical leader of the Health Samurai team, an activist from St. Petersburg's Ruby & Clojure communities and the Piter-united meta-community.
FULL STACK ON “ONE” LANGUAGE OR RICH HIKKI ISOMORPHISMWe offer you a report on how it is possible to develop along the entire stack from infrastructure to mobile phones and layout with CSS in the same language - Clojure. Poly-codec, b ... i
Mikhail Limansky , a Scala developer at First OFD.
HOW I DIDN'T FEAR FOR PROGRAMMING ON TYPES AND LOVED BEANWOODWhen programming in Scala, we often use different libraries written in Java. In spite of the fact that technically there is no problem with this, there are various difficulties from an ideological point of view. For example, when you do not want to use mutable classes in your code. Or when retrieving data in the form of JavaBeans from one library, you need to use them in another library written in Scala and implying the use of case classes. BeanPurée is a library that allows you to reduce the pain of using JavaBeans in Scala. It not only allows you to automatically convert bins into case classes and vice versa, but is primarily a connecting link between the world of Java and shapeless. I will try to do a little excursion into programming on types in Scala, tell you how to use shapeless and BeanPurée, and also show how it works from the inside.

Yuri Syrovetsky , Haskellist at Kaspersky Lab, an activist of the RuHaskell community, a teacher at the Moscow Chemical Lyceum and
Yuri Loginov , a pupil of the 11th class at the Moscow Chemical Lyceum, a functional programming enthusiast.
CRDT - CORRECTLY DISTRIBUTED DATA ON HASKELLCRDT is a tool for reliable data storage and synchronization in distributed systems. Of course, this model must be implemented in the most reliable programming language - Haskell! We will tell you what problems you encountered, how you solved issues of reliability and proof of the correctness of code based on type classes.
Nikita Sobolev , partner of wemake.services development studio, code writer, organizer elixir-lang.moscow.
FLOWS. OTP. ELIXIRDifferent programming languages ​​use different asynchronous models. In Erlang and Elixir there is a whole framework for working with asynchrony - OTP. Let's talk about its device, measure the speed of work, consider the typical use-cases. Let's add all graphs and metrics!
Anton Kholomiev , the author of the book "Haskell Tutorial" and the Haskell Music Library: csound-expression.
KOTLIN LANGUAGE - ISLAND TREASURE FOR OP ON ANDROIDIf you look at the chronicle of conferences on FI, it is not difficult to see that the main topic of the reports is WEB. Mobile development is bypassed. And for good reason! Functional languages ​​are luminaries with luxurious memory consumption and a model of representations typical for FP designs poorly fit into the limitations of mobile applications.
But in the sky of OP, a new star has risen and its light is getting brighter and brighter! We will talk about the new Kotlin language and how to use it on Android. Using the example of live working code, we will look at how to do this in a functional style. The appearance of Kotlin can open the doors to Android development for many fans of FP and make this journey enjoyable and exciting.
* The Kotlin language was developed by Russian engineers from JetBrains and named after the island on which the city of Kronstadt is located.
Dmitry Volkov , a Haskellist for money, a formal verifier, and Coq'olub for the idea. Slightly Rust'oman. GoTo school organizer.
HIGH-ASSURANCE EMBEDDEDNow almost everyone carries in his pocket more than 40 million lines of code only in C, drives in a car controlled by an on-board computer *, lives in a house, the water supply to which is regulated by SCADA or less than 400 km away from the nuclear power plant.
I will tell you what can go and goes wrong, how to live with it and what software development technologies are used to make airplanes that (due to electronics failure) do not fall, cars that stop when you press the brake pedal and the rocket , which take off: in particular, we will focus on the memory-safe languages ​​in the embedded (Rust) and program extraction from Haskell (Ivory) and Coq + runtime verification à la Agda.
Oleg Nizhnikov , Scala-developer at Tinkoff.ru.
PAINLESS FALLBACK CACHE ON SCALAIn large (or microservice) architectures, Backend has its Backend. And, if a service is very important, it is not always very productive. How to make your system continue to respond, even if important sources of information stop responding?
Talking about our experience at Tinkoff:
1. How we chose the DBMS and where we left off.
2. How to support versioning data formats.
3. How to understand that your service is dead or alive.
4. How to embed cache without rewriting applications to Scala.
5. Results and measurements.
Alexey Pirogov , an inquisitive writer in functional languages, a narrator of reports and a scooter driver, Typeable.IO.
SCRIPT AND AUTOMATE SAFELY WITH HASKELLWe all have to automate routine tasks — someone building, someone backing up, or processing and collecting logs. Often, dynamically typed scripting languages ​​are used for such tasks, because writing scripts to them is so quick and easy! But writing safe and predictably working scripts requires a certain discipline.
This report will show that the same tasks that we usually solve with Bash / Python / (your version) can also be solved in Haskell, while obtaining
- greater safety and predictability;
- cross-platform (written once the script will work in unix-like systems, and on Windows);
- the same speed and ease of development (types do not have to write, you will not even need to compile anything - if you do not want!)
Alexander Vershilov , haskell developer at Tweag I / O.
WE PROJECT THE SAAS SOLUTION, LAUNCHING ON THE LAPTOPIf you are thinking about how to design an application, so that it works locally, on a weak laptop, or it would be a horizontally expandable cloud application. So why not get everything at once using the same code? It is very important for companies to be able to quickly adapt to changing requirements. Powerful abstractions in Haskell make it easy to write an application that can both work in cloud saving and can be used as an executable file in Windows.
In the report we will consider the architectural decisions that allowed this to be done. We will look at the structure of the code and the tools that allowed us to easily obtain platform-specific solutions, as well as various problems we encountered in implementation.
Pavel Argentov , a practicing fp-programmer, OCaml lover, developer in Evrone.
LEARNING TO PLAY UNIKERNELUnikernel is an application development framework that will run in a certain virtualization environment using the “one computer - one process” principle. In some ways, this is a return from the world of multi-tasking multi-user general-purpose OS to the world of “firmware”. In another way - this is the way out to that level of application creation, when the program lives in its very small, very fast-loaded, hacked-well-and-well, dropped-well-and-not-sorry capsule. The application itself is an operating system with a “microkernel” - a thin loader / monitor in the manner of an old MS-DOS. Developed on OCaml MirageOS is perhaps the first successful project of a fully mature “library OS”. I know OCaml, and therefore the experiment with the product in this language seemed to me the most painless. In the report, I will go over the main points of creating a Mirage application using a simple learning example.
Katerina Galkina is a developer at GetShop.TV, a graduate student at VMK MSU, who participates in teaching a workshop at LISP at VMK MSU.
OUR BUGS FOR TWO YEARS OF HASKELL DEVELOPMENTOur backend is a little less than full written in Haskell. The compiler finds most of the potentially fatal errors for us, but it cannot save from everything. In my report, I will tell you what problems we had, why it happened and what serious mistakes Haskell saves us from.
Alexander Chichigin , a haskell programmer at Typeable.io. He was engaged in research in the field of formal verification at the university.
SEARCHING FOR CORRECT TRANSFORMATIONSA report for experienced functional programmers interested in formal program verification. Let's talk about the language F *, refinement types, equational reasoning, program transformation, formal verification. Rakes and roundabout maneuvers. You will learn several techniques of using refinement types (or liquid types) to prove the completeness and equivalence of functions using the example of optimizing the list sorting algorithm.
Sergey Tkachenko , a frontend developer, clojure intuziasist, organizer of the Moscow Clojure community.
OOP FOR BRAVE AND TRUERecently, the theme of the battle between the methodologies of OOP and AF is very often raised. But in fact, these two methodologies were created with the same goal - to get rid of the imperative (procedural) programming style. Unfortunately, at some point in the PLO, the methodology remained so completely and not understood. In this talk I will try to shed light on what a modern OOP code is and how to use it in a functional language like Clojure. This report will be useful not only to Clojure developers, but to all developers who use functional languages ​​and, mistakenly, consider OOP to be the root of all evil.
Vadim Chelyshov , working in hydrosphere.io, one of the leading podcast scalalaz.ru.
WE MAKE USER API ON THE BASIS OF SHAPELESSScala developers rarely have to deal with dependent types, although a decent layer of libraries we work with every day use them under the hood.
The purpose of my report is to make PR colleagues with the addition of a shapeless depending on the project no longer cause you to panic.
- consider unobvious moments
- find out how to understand this code
- find out what benefits can be obtained from the practical use of shapeless
- understand why you should drag it into your project.
Nikolay Kudasov , technical director and co-founder of GetShop.TV, Haskell course teacher at VMK MSU, Haskell-enthusiast since 2010.
FUNCTIONAL VIRTUAL REALITY: WEBVR + HASKELLVirtual reality is more accessible than it might seem. With Google Cardboard and WebVR, anyone can create virtual worlds. And with the help of GHCJS, we can build these worlds on Haskell, easily and safely! In this report, you will see how to start developing Haskell for VR, as well as how to interact with existing VR components. Namely, you will be introduced to the WebVR framework A-Frame and Miso, a Haskell frontend framework similar to Elm.
Nikita Volkov , Haskell language expert and author of many open-source projects for him.
NEW HASQL: FASTER AND FASTERReport on the fastest Postgres Haskell Postgres library from its author!
Andrei Zaitsev , JetBrains programmer, 7 years working on IDE.
ABSTRACT RECONCILIATIONThe path to the functional management of object graphs. Let's write your little functional React and talk about its theoretical foundations and extensions. The attentive listener "will take with him" a meta-library. Report language - Clojure.
Speakers are already preparing, we are just waiting for you!
What besides reports:- A lot of professional communication with very smart and interesting people.
- Tasty food.
- Fiery afterparty to informally communicate with participants and speakers.
Join now!
Ticket price - 5,000 rubles.
You can register
here .
Bonus - video from FPConf 2015 and FPConf 2016 .