Семинар » 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 | Слайды: скоро |