Project

General

Profile

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

Denis Buzdalov, 02/18/2021 05:15 PM

1 1 Denis Buzdalov
|_Эта страница предназначена для свободного редактирования всеми участниками семинара_
2
_Замечания и дополнения приветствуются_|
3
4
h2. Цели
5
6
* знакомство незнакомых с основопологающими, но нетривиальными возможностями языков с развитой системой типов (например, параметрический и ad-hoc полиморфизм);
7
* знакомство незнакомых с прагматикой функциональных языков, неизвестными приёмами над известными языковыми конструкциями;
8 21 Denis Buzdalov
* приобщение специалистов по спецификации, тестированию и верификации к терминологии, приёмам и техникам функционального программирования;
9
* обмен интересными приёмами, знаниями и идеями про функциональное программирование.
10 1 Denis Buzdalov
11
h2. Семинары (темы и планы)
12
13
h3. 01.11.2019 -- Тайпклассы Haskell и для чего их можно использовать
14
15 5 Denis Buzdalov
Слайды: attachment:"2019.11.01-typeclasses-n-polymorphism.pdf"
16 1 Denis Buzdalov
17 5 Denis Buzdalov
h3. 13.11.2019 -- Данные не нужны: Что знал Алонзо Чёрч еще 80 лет назад
18
19
Слайды: attachment:"2019.11.13-church-encoding.pdf"
20 1 Denis Buzdalov
Слайды той же лекции, прочитанной для другой аудитории: attachment:"2020.03.06-chuch-encoding-bis.pdf" (изменённое соотношение сторон, мелкие исправления + пример из первой лекции)
21
22
h3. 20.11.2019 -- Как построить (символьно интерпретируемый) EDSL
23
24
Слайды: attachment:"2019.11.20-symbolic-edsl.pdf"
25
26
h3. 04.12.2019 -- Как достигать желаемых эффектов
27
28
Слайды: attachment:"2019.12.04-mtl-and-effects.pdf"
29
30
h3. 18.12.2019 -- Рекурсивные схемы: рекурсия в типах и коде
31
32
Слайды: attachment:"2019.12.18-recursion-schemes.pdf"
33
34
h3. 22.01.2020 -- Зависимые типы и соответствие Карри-Ховарда. Или интерпретация Брауэра-Гейтинга-Колмогорова. Свежие идеи, которым 90 лет
35
36
Слайды: attachment:"2020.01.22-bhk-deptyp.pdf"
37
Слайды той же лекции, прочитанной для другой аудитории: attachment:"2020.02.19-bhk-deptyp-bis.pdf" (чуть расширенное введение + исправления)
38
39
h3. 05.02.2020 -- Model-based тестирование протоколов и парсинг
40
41
Слайды: attachment:"2020.02.05-mbt-and-parsing.pdf"
42
43
h3. 24.11.2020 -- Генерация сложных тестовых данных со сложными инвариантами. Проблемы и _направления_ решений
44
45
Слайды: attachment:"2020.11.24-complex-data-gen.pdf"
46 17 Denis Buzdalov
Слайды той же лекции, прочитанной для другой аудитории: attachment:"2020.12.12-complex-data-gen.pdf" (исправления + две дополнительные мысли)
47 21 Denis Buzdalov
48 22 Denis Buzdalov
h3. 18.02.2021 -- Циферьки в типах или Quantitative type theory. Чудесное настоящее и прекрасное будущее
49
50
Слайды доклада 3 февраля 2021 в undef space: attachment:"2021.02.03-qtt.pdf"
51
Слайды доклада на семинаре в ИСП: attachment:"2021.02.18-qtt.pdf"
52
53 21 Denis Buzdalov
h2. Интересные темы и направления для будущих семинаров
54
55
* объяснение техник, которые используются в наших библиотеках (и не только):
56
** рекурсивные схемы;
57
** lens/optics/category-arrow-iso-semiiso;
58
** Functor Functors / Higher-Kinded Data;
59
** property-based testing (на странице [[Haskell]] ссылки на много библиотек);
60
** ...;
61
* расширения haskell (language extensions):
62
** все, что связано с проблемами поиска instance и т.д., как он устроен, что за ошибки происходят при использовании MultiParamTypeClasses+FunctionalDependencies:
63
*** OVERLAPPABLE/OVERLAPPING
64
*** FlexibleInstances/FlexibleContexts
65
*** UndecidableInstances
66
** TypeFamilies + DataKinds и все-все-все - typelevel данные, аннотации, вычисления и все такое;
67
** ExistentialQuantification;
68
** ...;
69
* библиотеки -- как выбрать, когда несколько; сравнения, скандалы, интриги, расследования;
70
* системы эффектов в функциональных языках
71
** monad transformers, MTL;
72
** freer monads;
73
** capability;
74
** algebraic effects;
75
** ...
76
* зависимые типы (в частности, в применении к спецификации);
77
* ???.