Project

General

Profile

Семинар » History » Version 6

Grigoriy Volkov, 11/19/2019 10:38 PM

1 1 Denis Buzdalov
|_Эта страница предназначена для свободного редактирования всеми участниками семинара_
2
_Замечания и дополнения приветствуются_|
3
4
h2. Цели
5
6
* знакомство незнакомых с основопологающими, но нетривиальными возможностями языков с развитой системой типов (например, параметрический и ad-hoc полиморфизм);
7
* знакомство незнакомых с прагматикой функциональных языков, неизвестными приёмами над известными языковыми конструкциями;
8
* приобщение специалистов по спецификации, тестированию и верификации к терминологии, приёмам и техникам функционального программирования.
9
10
h2. Интересные темы и направления
11
12 2 Grigoriy Volkov
* объяснение техник, которые используются в наших библиотеках (и не только):
13 1 Denis Buzdalov
** рекурсивные схемы;
14
** tagless final;
15
** overloadable stuff;
16 2 Grigoriy Volkov
** lens/optics/category-arrow-iso-semiiso;
17
** Functor Functors / Higher-Kinded Data;
18
** property-based testing (на странице [[Haskell]] ссылки на много библиотек);
19 1 Denis Buzdalov
** ...;
20 2 Grigoriy Volkov
* расширения haskell (language extensions):
21
** TypeFamilies + DataKinds и все-все-все - typelevel данные, аннотации, вычисления и все такое;
22
** ExistentialQuantification;
23
** ...;
24 1 Denis Buzdalov
* библиотеки -- как выбрать, когда несколько; сравнения, скандалы, интриги, расследования;
25
* системы эффектов в функциональных языках
26
** monad transformers, MTL;
27
** freer monads;
28
** capability;
29
** algebraic effects;
30
** ...
31
* зависимые типы (в частности, в применении к спецификации);
32
* ???.
33
34
h2. Семинары (темы и планы)
35
36
h3. 01.11.2019 -- Тайпклассы Haskell и для чего их можно использовать
37
38 5 Denis Buzdalov
Слайды: attachment:"2019.11.01-typeclasses-n-polymorphism.pdf"
39 1 Denis Buzdalov
40 5 Denis Buzdalov
h3. 13.11.2019 -- Данные не нужны: Что знал Алонзо Чёрч еще 80 лет назад
41
42
Слайды: attachment:"2019.11.13-church-encoding.pdf"
43 6 Grigoriy Volkov
44
h3. 20.11.2019 -- Как построить (символьно интерпретируемый) EDSL: Tagless final, monad transformers, RebindableSyntax и все-все-все
45
46
Слайды: скоро