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