Привет!

2 декабря ждем всех, кто любит делать это функционально на третьей конференции FPConf — конференции о Haskell, Scala, Clojure, Elixir, Kotlin, F# и функциональных подходах в программировании фронтендов, бэкендов и чего угодно на чем угодно. Больше монад, лямбд, замыканий! Всем иммутабельность, друзья :)

Традиционно, приглашаем как опытных функциональщиков, так и тех, кто только хочет получить вдохновение и расширить горизонты.

Цена билета сейчас — 5000 рублей. Регистрация тут.

Что в программе:

image Arnaud Spiwack, core-разработчик Coq Proof Assistant, старший архитектор в Tweag I/O

USING HASKELL TO GREAT EFFECT

It is beyond cliche, nowadays, to say that testing is really important. This is even more so in I/O intensive applications because so many things can go wrong. Unfortunately, testing I/O intensive applications is particularly hard. We have to mock all our files, data-bases, and so on. But even so, we're only scratching the surface: so many things can go wrong. How do we test for absence of deadlocks? Of races?

I came to the conclusion that Haskell's insistence on purity made it, paradoxically, one of the best languages to write I/O intensive programs. The reason for this is that Haskell makes it very easy to mock every single aspects of the I/O fabric, hence testing is more powerful. Up to checking for the absence of deadlocks and races. This talk will discuss the programming patterns which emerge from this point of view, and, of course, encourage you do use them in your programs.

image Денис Шевченко, сооснователь сообщества ruHaskell, автор книги «О Haskell по-человечески», разработчик в IOHK.

CARDANO: HASKELL ИДЁТ В МИР КРИПТОВАЛЮТ

Шум и волнение вокруг темы криптовалют не смолкают. Интерес к этой теме растёт день ото дня, ведь технология блокчейн уже доказала свою новаторскую эффективность. На наших глазах появляются новые криптовалютные системы, всё более удобные и безопасные. Cardano SL — первая из таких систем, написанная на Haskell. Об её особенностях, перспективах и о том, почему всё-таки Haskell, и пойдёт речь в моём докладе.

image Николай Рыжиков, технический лидер команды Health Samurai, активист питерского Ruby & Clojure сообществ и мета-сообщества Piter-united.

ПОЛНЫЙ СТЭК НА «ОДНОМ» ЯЗЫКЕ ИЛИ ИЗОМОРФИЗМ РИЧА ХИККИ

Вашему вниманию предлагается доклад про то, как возможно разрабатывать вдоль всего стэка от infrastructure до мобилок и верстки с CSS на одном языке — Clojure. Полайфкодим, б… я

image Михаил Лиманский, разработчик на Scala в «Первый ОФД».

КАК Я ПЕРЕСТАЛ БОЯТЬСЯ ПРОГРАММИРОВАНИЯ НА ТИПАХ И ПОЛЮБИЛ БОБОВОЕ ПЮРЕ

Программируя на Scala, мы частенько используем разные библиотеки написанные на Java. Несмотря на то, что технически в этом нет проблемы, с идеологической точки зрения возникают разные трудности. Например, когда вы не хотите использовать мутабельные классы в вашем коде. Или при получении данных в виде JavaBeans из одной библиотеки, вам нужно использовать их в другой библиотеке, написанной на Scala и подразумевающей использование case class-ов. BeanPuree — это библиотека позволяющая уменьшить страдания от использования JavaBeans в Scala. Она позволяет не только автоматически преобразовывать бины в case class-ы и обратно, но в первую очередь является соединяющим звеном между миром Java и shapeless. Я постараюсь сделать небольшой экскурс в программирование на типах в Scala, расскажу как использовать shapeless и BeanPuree, а также покажу как оно работает изнутри.

image image Юрий Сыровецкий, хаскеллист в Лаборатории Касперского, активист сообщества RuHaskell, преподаватель в Московском Химическом Лицее и Юрий Логинов, ученик 11 класса Московского Химического Лицея, энтузиаст функционального программирования.

CRDT — КОРРЕКТНО РАСПРЕДЕЛЁННЫЕ ДАННЫЕ НА HASKELL

CRDT — инструмент надёжного хранения и синхронизации данных в распределённых системах. Конечно же, эту модель надо реализовать на самом надёжном языке программирования — Haskell! Мы расскажем, с какими проблемами столкнулись, как решали вопросы надёжности и доказательства корректности кода, основанного на классах типов.

image Никита Соболев, партнер студии разработки wemake.services, писатель кода, организатор elixir-lang.moscow.

ПОТОКИ. OTP. ELIXIR

В разных языках программирования используются разные модели асинхронности. В Erlang и Elixir существует целый фреймворк для работы с асинхронностью — OTP. Поговорим про его устройство, замерим скорость работы, рассмотрим типичные use-cases. Дополним все графиками и метриками!

image Антон Холомьёв, автор книги «Учебник по Haskell» и музыкальной бибилиотеки для Haskell: csound-expression.

ЯЗЫК KOTLIN — ОСТРОВ СОКРОВИЩ ДЛЯ ФП НА ANDROID

Если посмотреть на хронику конференций по ФП, то не трудно заметить, что главной темой докладов является WEB. Мобильная разработка обходится стороной. И неспроста! Функциональные языки корифеи с роскошным расходом памяти имоделью представления типичных для ФП конструкций плохо укладываются в ограничения мобильных приложений.
Но на небе ФП взошла новая звезда и свет её всё ярче! Мы поговорим о новом языке Kotlin и о том как применять его на Android. На примере живого рабочего кода мы посмотрим как делать это в функциональном стиле. Появление Kotlin может открыть двери в Android-разработку для многих любителей ФП и сделать это путешествие приятным и увлекательным.
* Язык Kotlin разработан русскими инженерами из JetBrains и назван в честь острова, на котором расположен город Кронштадт.

image Дмитрий Волков, хаскеллист за деньги, формальный верификатор и Coq'олюб за идею. Слегка Rust'оман. Организатор школ GoTo.

HIGH-ASSURANCE EMBEDDED

Сейчас почти каждый носит в своём кармане более 40 млн строк кода только на C, ездит в машине, управляемой бортовым *компьютером*, живёт в доме, подача воды к которому регулируется SCADA или на удалении менее 400 км от АЭС.

Я расскажу, что может пойти и идёт не так, как с этим жить и какие технологии разработки ПО используются для того, чтобы делать самолёты, которые (из-за сбоя электроники) не падают, машины, которые останавливаются при нажатии на педаль тормоза и ракеты, которые взлетают: в частности, речь пойдёт о memory-safe языках в embedded (Rust) и program extraction из Haskell (Ivory) и Coq + runtime verification a la Agda.

image Олег Нижников, Scala-разработчик в Tinkoff.ru.

БЕЗБОЛЕЗНЕННЫЙ FALLBACK CACHE НА SCALA

В крупных (или микросервисных) архитектурах у Backend'а есть свои Backend'ы. И, если какой-то сервис очень важный, он не всегда очень производительный. Как сделать так, чтобы ваша система продолжала отвечать, даже если важные источники информации перестали отвечать?

Рассказываю о нашем опыте в Tinkoff:

1. Как мы выбирали СУБД и на чём остановились.
2. Как поддерживать версионность форматов данных.
3. Как понять, что ваш сервис умер или ожил.
4. Как встроить cache, не переписывая приложения на Scala.
5. Итоги и замеры.

image Алексей Пирогов, любознательный писатель на функциональных языках, рассказчик докладов и водитель самоката, Typeable.IO.

СКРИПТУЕМ И АВТОМАТИЗИРУЕМ БЕЗОПАСНО С HASKELL

Всем нам приходится автоматизировать рутинные задачи — кому-то сборку, кому-то резервное копирование или обработку и сбор логов. Часто для подобных задач используются динамически типизированные скриптовые языки, ведь писать скрипты на них так быстро и просто! Но написание безопасных и предсказуемо работающих скриптов требует определенной дисциплины.
Данный доклад покажет, что те же задачи, которые мы обычно решаем с помощью Bash/Python/(ваш вариант), можно решать и на Haskell, получая при этом

— большую безопасность и предсказуемость;
— кроссплатформенность (написанный однажды скрипт будет работать и в unix-подобных системах, и на Windows);
— ту же скорость и простоту разработки (типы писать не придется, не нужно будет даже ничего компилировать — если не хочется!)

image Александр Вершилов, haskell-разработчик в Tweag I/O.

ПРОЕКТИРУЕМ SAAS РЕШЕНИЕ, ЗАПУСКАЮЩЕЕСЯ НА НОУТБУКЕ

Если Вы задумываетесь как проектировать приложение, так чтобы оно работало локально, на слабом ноутбуке или было бы горизонтально расширяемым облачным приложением. То почему бы не получить все сразу, используя один и тот же код? Компаниям очень важно уметь быстро подстраиваться под изменяющиеся требования. Мощные абстракции в Haskell позволяют легко написать приложение, которое может как работать в облачном откуржении, так и быть испольняемым файлом в Windows.

В докладе мы рассмотрим архитектурные решения, позволилвшие это сделать. Мы рассмотрим структуру кода и инструменты позволившие нам легко получать платформоспецифичные решения, а так же о различных проблемах с которыми мы встретились при реализации.

image Павел Аргентов, практикующий fp-программист, любитель OCaml, разработчик в Evrone.

УЧИМСЯ ИГРАТЬ В UNIKERNEL?

Unikernel ?—? это фреймворк для разработки приложения, которое будет запускаться в некоторой среде виртуализации по принципу “один компьютер? —? один процесс”. В некотором роде это возврат из мира многозадачных многопользовательских ОС общего назначения в мир “прошивок”. В ином роде —? это выход на тот уровень создания приложений, когда программа живёт в своей маленькой очень-быстро-загружаемой, взломали-ну-и-ладно, упала-ну-и-не-жалко капсуле. Приложение является само себе операционной системой с “микроядром”? —? тоненьким загрузчиком/монитором на манер старинной MS-DOS. Разработанная на OCaml MirageOS? —? едва ли не первый успешный проект полностью зрелой «library OS». Я знаю OCaml, и потому эксперимент именно с продуктом на этом языке показался мне наиболее безболезненным. В докладе я пробегусь по основным моментам создания Mirage-приложения на простом учебном примере.

image Катерина Галкина разработчик в GetShop.TV, магистрант ВМК МГУ, принимает участие в преподавании практикума на LISP на ВМК МГУ.

НАШИ БАГИ ЗА ДВА ГОДА РАЗРАБОТКИ НА HASKELL

Наш бэкенд чуть менее, чем полностью, написан на Haskell. Большую часть потенциально фатальных ошибок находит за нас компилятор, но он не может спасти от всего. В своём докладе я расскажу, какие проблемы у нас возникали, почему это случалось и от каких серьёзных ошибок нас спасает Haskell.

image Александр Чичигин, haskell-программист в Typeable.io. Занимался исследованиями в области формальной верификации в университете.

В ПОИСКАХ КОРРЕКТНЫХ ТРАНСФОРМАЦИЙ

Доклад для бывалых функциональных программистов, заинтересованных в формальной верификации программ. Поговорим про язык F*, refinement types, equational reasoning, program transformation, formal verification. Грабли и обходные манёвры. Вы узнаете несколько приёмов использования refinement types (или liquid types) для доказательства завершимости и эквивалентности функций на примере оптимизации алгоритма сортировки списка.

image Сергей Ткаченко, фронтэнд разработчик, clojure интузиаст, организатор московского Clojure сообщества.

OOP FOR BRAVE AND TRUE

В последнее время очень часто поднимается тема битвы методологий ООП и ФП. Но на самом деле эти две методологии были созданы с одной и той же целью — избавиться от императивного (процедурного) стиля программирования. К сожалению, в какой то момент ООП методология осталась так до конца и не понятой. В этом докладе я попытаюсь пролить свет на то, что такое современный ООП код и как его использовать в таком функциональном языке, как Clojure. Этот доклад будет полезен не только Clojure разработчикам, но всем разработчикам, которые используют функциональные языки и, ошибочно считающие, ООП корнем всех зол.

image Вадим Челышов, работает в hydrosphere.io, один из ведущих в подкасте scalalaz.ru.

ДЕЛАЕМ ПОЛЬЗОВАТЕЛЬСКИЙ API НА БАЗЕ SHAPELESS

Scala-разработчикам довольно редко приходится иметь дело с зависимыми типами, хотя приличный пласт библиотек, с которыми мы работаем каждый день, используют их под капотом.
Цель моего доклада — сделать так, чтобы PR коллеги с добавлением shapeless в зависимости проекта больше не вызывал у вас паники.

— рассмотрим неочевидные моменты
— узнаем, как понимать подобный код
— выясним, какую пользу можно получить от практического использования shapeless
— поймем, зачем стоит тащить его в свой проект.

image Николай Кудасов, технический директор и ко-фаундер GetShop.TV, преподаватель курса Haskell на ВМК МГУ, Haskell-энтузиаст с 2010 года.

ФУНКЦИОНАЛЬНАЯ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ: WEBVR + HASKELL

Виртуальная реальность доступнее, чем может показаться. При помощи Google Cardboard и WebVR каждый может создавать виртуальные миры. А с помощью GHCJS мы можем строить эти миры на Haskell, легко и безопасно! В этом докладе вы увидите, как начать разрабатывать под VR на Haskell, а также как взаимодействовать с существующими VR-компонентами. А именно, вы познакомитесь с WebVR фреймворком A-Frame и Miso, фронтенд-фреймворком на Haskell, похожим на Elm.

image Никита Волков, эксперт по языку Haskell и автор множества open-source проектов для него.

НОВЫЙ HASQL: ПРОЩЕ И БЫСТРЕЕ

Доклад о самой быстрой библиотеке для интеграции с Postgres для Haskell от ее автора!

image Андрей Зайцев, программист JetBrains, 7 лет работает над IDE.

ABSTRACT RECONCILIATION

Путь к функциональному управлению графами объектов. Напишем свой маленький функциональный React и поговорим о его теоретических основаниях и расширениях. Внимательный слушатель «унесет с собой» мета-библиотеку. Язык доклада — Clojure.

Спикеры уже вовсю готовятся, ждем только вас!

Что кроме докладов:
— Много профессионального общения с очень умными и интересными людьми.
— Вкусная еда.
— Огненное афтепати, чтобы неформально пообщаться с участниками и спикерами.

Присоединяйтесь!
Цена билета — 5000 рублей.
Зарегистрироваться можно тут.

Бонус — видео с FPConf 2015 и FPConf 2016.

Комментарии (1)


  1. rovenos
    04.11.2017 23:01

    i will be there. tnx