f(by) 20152014
#FuncBY

f(by) – конференция по функциональному программированию

F(by) – первая в Беларуси конференция, посвященная функциональным языкам программирования.

В этом году отдельный поток выделен под Scala: разработчики из EPFL познакомят вас со значимыми обновлениями Scala и scala.meta. Кроме этого, будут представлены новый компилятор dotty и один из экспериментальных модулей Akka.

Второй поток обратит особое внимание на функциональные языки, при этом акцент будет сделан на Haskell: вы узнаете о возможностях этого языка и поймете, в каких случаях можно отдавать ему предпочтение в продакшне. Создатель фреймворка Spock подробно расскажет о бэкенде на Haskell, а его доклад будет дополнен выступлением выступлением разработчика PureScript о фронтенд-части. Закрепить знания поможет live-coding сессия! Отдельный доклад будет посвящен микросервисам в Haskell.

Все желающие смогут принять участие в обсуждениях докладов, а вишенкой на торте станет дискуссионная секция, в которой уже заявлены горячие обсуждения на тему PureScript vs ClojureScript, Servant vs Spock, EMACS vs VIM.

Выступают

Программа

  • 09.45 – 10.00

    Приветствие от лидеров FuncBY, открытие конференции

  • 10.00 – 10.50

    State of the Meta: Fall 2015

    Евгений Бурмако

    scala.meta is a next-generation metaprogramming framework that is heavily based on our experiences with designing and supporting scala.reflect. With scala.meta, it is possible to efficiently carry out a wide range of metaprogramming tasks: from purely syntactic transformations that preserve low-level lexical details to powerful semantic code analyses that are aware of the program structure. With the upcoming 0.1 release, we're planning to provide a comprehensive and platform-independent model of Scala programs. Every time a Scala program is compiled with our compiler plugin enabled, we save its representation in a serialized format, which then can be loaded at any point - both at compile time and at runtime. In this talk, we will see a practical preview of features planned for 0.1. It will become clear how to use scala.meta to analyze and rewrite code to implement functionality that is very hard or outright impossible to achieve with existing metaprogramming solutions.

  • 10.50 – 11.40

    Что нового в Dotty?

    Дмитрий Петрашко

    Dotty это компилятор для Scala-подобного языка на которой обкатываются новые идеи и технологии.Это не форк scalaс, а новый компилятор, написанный с нуля. Возможности которые тестируются в Dotty могут однажды стать частью Scala. В докладе будет рассказано, какие возможности на данный момент отличают Dotty от Scala, а также будет дан экскурс в отличия во внутреннем устройстве Dotty и scalac.

  • 11.40 – 12.00

    Coffee

  • 12.00 – 12.50

    Akka Typed: shaping actor interactions

    Martynas Mickevičius

    A sneak peak to the new Akka experimental module which enables static type checking for interactions between actors.

  • 12.50 – 13.40
  • 13.40 – 15.00

    Lunch

  • 15.00 – 15.50

    Making web services better with Servant

    Денис Редозубов

    We have to build a web API now and then to communicate with other software, partners and clients. It’s a tiresome and error-prone task that gets even worse if you’re willing to utilize the microservice architecture. We can surely take some pain and routine out of this with a typelevel APIs. We’ll take a look into Haskell library/framework called Servant that helps to deal with that particular problem in a type-safe way. We'll explore it to see how we can address the common problems and advance it beyond the current implementation.

  • 15.50 – 16.30

    Unikernel Full-Stack на Erlang

    Максим Сохацкий

    Developing theory, model and implementation of minimalistic certified executive environment for a full application stack of components: hardware abstraction, language, virtual machine, message queue, database, HTTP and websocket servers, web application framework etc that is normalized for mass data usage, correct by construction and is usable today. Starting from underlying formalisms such as process and lambda calculus, temporal logic, type theory through virtual machine abstraction to the raw hardware, real world applications and protocol stacks ending up with samples, frameworks and documentation. Keywords: Unikernel, Full-stack, Specification, Formal Methods, Certification, Event Streaming, Time Series, Protocol Analysis, Statistics.

  • 16.30 – 16.50

    Coffee

  • 16.50 – 17.30

    Programming as Performance – Live Coding Music with Sonic Pi

    Sam Aaron

    Live coding – writing code in real time in front of an audience – has recently emerged as an expressive way of performing music. Could live coding also increase engagement in programming lessons within schools? Should we be teaching functions and variables or basslines, riffs and live loops? In this keynote Sam will introduce and perform with Sonic Pi, a live coding synth available for free to use on all major platorms including the Raspberry Pi. He will discuss how it has created a huge impact with educators in addition to artists and programmers interested in exploring the creative potential of code. Finally Sam will also offer a window into the Algorave movement: parties where live coded algorithms meet the dance floor.

  • 17.30 – 18.30

    Event Sourcing is actually just functional code

    Greg Young

    This talk will go through the concept of event sourcing and show that at its core its really just functional code. You can implement an event sourced system in Object Oriented code but its really hiding what is happening. Have you seen the logo for event store or the cute little dragon? By the end of this talk you will also understand what they mean.

  • 18.30 – 19.30

    Debates & Lightnings

  • 09.45 – 10.00

    Приветствие от лидеров FuncBY, открытие конференции

  • 10.00 – 10.50

    Databases Can Be Programmed Against Declaratively

    Никита Волков

    This talk will cover the soon to be released new version of ["hasql"](http://nikita-volkov.github.io/hasql-benchmarks/), a highly-efficient library for integration of Haskell and PostgreSQL. The new version of the library will provide an API for declarative programming, which is also quite flexible yet terse. The talk will cover the architectural and technical solutions behind the library, including the implementation of the PostgreSQL binary protocol. Hasql is used by [PostgREST](https://github.com/begriffs/postgrest), a popular restful API for Postgres.

  • 10.50 – 11.40

    PureScript – Fearless Programming for the Web

    Christoph Hegemann

    PureScript is a new programming language that compiles to JavaScript. I will tell about what PureScript brings to the table and how it compares to its competitors in the AltJS space. I'll show how we can use the typesystem as a design, documentation and refactoring tool and how PureScript's FFI and types allow to leverage existing JavaScript libraries. Finally I'll present some of the tooling around PureScript including the tool I wrote, psc-ide, which is a tool that provides editor support.

  • 11.40 – 12.00

    Coffee

  • 12.00 – 12.50

    Spock – Powerful Elegant Web Applications using Haskell

    Alexander Thiemann

    Functional programming and Haskell are growing faster than ever and provide a great tool for building both small and large robust applications. Lots of web applications start as very small and simple prototypes and then grow quickly and become more complex. Therefore you need a tool that allows high development speed and good performance while making sure that the developers do not get overwhelmed by complexity or overlook trivial security issues. Haskell is perfect for that: The type-system trustfully guides a developer while refactoring and prevents fatal security bugs. This task should give an in depth view on web development using the Haskell web framework «Spock» ( https://www.spock.li). It will give an overview of the possibilities like type-safe routing, hyperlinks, database queries, templates and JSON parsing/generation. It also discusses various techniques on defining REST-APIs and handeling background work.

  • 12.50 – 13.40
  • 13.40 – 15.00

    Lunch

  • 15.00 – 15.50

    Live Coding. Выбор мастера с помощью Raft Consensus Algorithm

    Юрий Жлоба

    Известно, что эрланг предназначен для разработки распределенных систем. Это сложная область программирования, и о ней можно много говорить. Но зачем говорить, когда можно просто взять, и сделать что-нибудь интересное? Я проведу сессию программирования на эрланг и реализую механизм выбора мастера для кластера из эрланговских нод с помощью Raft Consensus Algorithm.

Программа

Поток 1

Приветствие от лидеров FuncBY, открытие конференции

Organizers

  • Сообщество FuncBy
  • dev.by

Date