Logo Crossweb

Log in

No account yet? Forgot password

Przypomnij hasło

close Wypełnij formularz.
Na Twój adres e-mail zostanie wysłane link umożliwiający zmianę hasła.
Send
This event has already taken place. Check upcoming events

fp-wroc #21

Event:
fp-wroc #21
Event type:
Meetup
Category:
IT
Topic:
Date:
03.10.2018 (wednesday)
Time:
18:00
Language:
Polish
Price:
Free
City:
Place:
0
Description:

Efekty algebraiczne i ich handlery


Często wymienianą zaletą programowania funkcyjnego jest to, że czyste obliczenia (czyli takie, w których nie plączą się pod nogami efekty takie jak mutowalny stan, wyjątki, wejście/wyjście, wielowątkowość itp.) zapewniają kod bardziej modularny, z mniejszą liczbą błędów, łatwiejszy do testowania i wielokrotnego użycia. Ale nie oszukujmy się: w prawdziwym kodzie musimy i chcemy używać efektów. A skoro tak, to róbmy to z głową. Liczni mądrzy ludzie od wielu dekad próbują zaproponować nam różne sposoby panowania nad efektami tak, by mieć swobodę wyrazu nie tracąc zalet programowania funkcyjnego, np. niesławne monady w Haskellu.


Ta prezentacja będzie o nowym pomyśle: efektach algebraicznych.

Pozwalają one swobodnie definiować własne efekty, w naturalny sposób

programować z wieloma efektami jednocześnie (bez potrzeby niewygodnych i nieczytelnych transformatorów monad) i to wszystko w klasycznym ML-owym stylu (bez potrzeby pisania w imperatywnym "monadycznym" stylu). Nic dziwnego, że efekty algebraiczne są intensywnie badane i rozwijane na całym świecie, a i my na Uniwersytecie Wrocławskim mamy w tym swój skromny udział.


Prezentacja nie wymaga wcześniejszej wiedzy o efektach, a już na pewno nie trzeba wiedzieć nic o monadach, ani znać się na egzotycznych teoriach matematycznych.


Bio:

Maciej jest pracownikiem naukowym w Instytucie Informatyki Uniwersytetu Wrocławskiego. Wcześniej pracował na Uniwersytecie w Leuven (Belgia), a jeszcze wcześniej na Uniwersytecie w Oksfordzie (Anglia). Jego ulubionym językiem programowania jest Haskell, ale z nadzieją (i pewną dozą zniecierpliwienia) czeka na nadejście kolejnej generacji funkcyjnych języków programowania.

Profile of employers

Similar events