Tinkoff Functional Programming Meetup #3

Tinkoff Functional Programming Meetup #3

Поговорим про введение в парадигму функционального реактивного программирования, поделимся теоретическими и практическими основами этой концепции. 
Кроме того, обсудим преимущества функциональной парадигмы и применимость практик функционального программирования в реальных проектах на Golang. 
А завершим нашу встречу темой про property-based testing вообще и коротко познакомимся с зависимыми типами.

Доклады
19:00 – 19:40
Go в функциональное программирование
Егор расскажет про преимущества функциональной парадигмы и применимость практик функционального программирования в реальных проектах на Golang, сравнит обработку и модель ошибок с ZIO, разберет концепцию Type Classes без имплиситов через Duck Typing.
Егор Плужник
Тинькофф
19:50 – 20:30
Функциональное реактивное программирование
Антон расскажет про парадигму функционального реактивного программирования, поделится теоретическими и практическими основами этой концепции, а также разберет, как увеличить долю чистого кода и сделать зависимости более прозрачными и гибкими.
Антон Холомьёв
Тинькофф
20:40 – 21:20
Зависимые типы + property-based testing = ❤️
Property-based testing — зарекомендовавший себя подход, позволяющий находить баги, практически неподвластные ручному тестированию, и при правильном использовании значительно сокращающий затраты на качественное тестирование. Для работы подхода нужны генераторы входных данных системы, которую мы тестируем, и часто мы можем получить эти генераторы автоматически или дешево. Но что, если у той системы, которую мы хотим тестировать, входные данные очень непростой структуры? Например, хитрые графы с хитрыми отношениями вершин или успешно тайпчекающиеся программы? Тут на помощь нам могут прийти зависимые типы (dependent types). В докладе рассмотрим property-based testing вообще, коротко познакомимся с зависимыми типами, а также узнаем, как их сочетание позволяет находить сложные ошибки в сложных системах.
Денис Буздало́в
Институт системного программирования РАН