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

20 декабря

четверг, 19:00

Бесплатно

Воронеж, ул. Станкевича, 36,
БЦ Форум, 4 ½ эт., конференц-зал

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 и приведены несколько примеров использования.

Арсений Жижелев

Директор ООО «Праймтолк»