Встреча сообщества λ-vrn (ex Scala User Group)


Details
Регистрация здесь:
https://www.dataart.ru/events/voronezh/vstrecha-soobshestva-vrn-ex-scala-user-group/
Scala user group Voronezh трансформировалась в lambda-vrn. Мы поменяли название и расширили спектр интересов.
Приглашаем на встречу обновленного сообщества разработчиков Middle+ уровня, которым интересно функциональное программирование на разных платформах. Перед выступлениями докладчиков мы сделаем небольшую презентацию-интро, где расскажем об изменениях, их природе и куда будем идти дальше. Презентацию проведет организатор сообщества Павел Попов (DataArt, Воронеж).
В программе встречи — два доклада: первый — про Scala и Refined типы; второй будет посвящен тому, как можно писать функциональный код на C++. После докладов будет дискуссия «Дизайн функциональных языков». Ее участники обсудят создание нового функционального языка.
Какие возможности необходимы, какие следует исключить.
Что следует сделать частью ядра языка, а какие возможности реализовать через синтаксический сахар.
Каким образом можно осуществить быстрое прототипирование.
Как сделать interop с базовой платформой.
Какая платформа предпочтительнее.
«ЭЛЕМЕНТЫ ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ В СОВРЕМЕННОМ С++»
Функциональное программирование никогда не было особенно популярно само по себе, но его элементы давно проникли в мейнстримовые языки. Но не в C++: комитет по стандартизации предсказуемо не спешит добавлять в язык ленивые списки, каррированные функции, алгебраические типы данных, паттерн-матчинг, аппликативные функторы и монадные трансформеры. Но нам незачем ждать комитет — мы можем самостоятельно реализовать всё перечисленное, пусть и с некоторыми ограничениями.
Павел Кретов
Research Engineer at Antilatency, Research Assistant at Voronezh State University
«ТИПЫ ДАННЫХ НА ОСНОВЕ ПРЕДИКАТОВ»
Многие люди, занимающиеся функциональным программированием, слышали, что с помощью типов компилятор может доказать корректность программ в некоторых случаях. Классический пример — существует единственная реализация функции из A в A. В прикладном программировании такая сила компилятора не проявляется ввиду значительной ограниченности системы типов. Refined типы позволяют сузить множество корректных программ и, тем самым, перекладывают больше работы на компилятор. У программиста остается меньше возможностей допустить ошибку. В докладе кратко рассматриваются возможности библиотеки refined и приведены несколько примеров использования.
Арсений Жижелев

Встреча сообщества λ-vrn (ex Scala User Group)