Project

General

Profile

Семинар » History » Revision 2

Revision 1 (Denis Buzdalov, 10/30/2019 08:46 PM) → Revision 2/22 (Grigoriy Volkov, 11/11/2019 04:22 PM)

|_Эта страница предназначена для свободного редактирования всеми участниками семинара_ 
 _Замечания и дополнения приветствуются_| 

 h2. Цели 

 * знакомство незнакомых с основопологающими, но нетривиальными возможностями языков с развитой системой типов (например, параметрический и ad-hoc полиморфизм); 
 * знакомство незнакомых с прагматикой функциональных языков, неизвестными приёмами над известными языковыми конструкциями; 
 * приобщение специалистов по спецификации, тестированию и верификации к терминологии, приёмам и техникам функционального программирования. 

 h2. Интересные темы и направления 

 * объяснение техник, которые используются в наших библиотеках (и не только): библиотеках: 
 ** тайпклассы; 
 ** полиморфизм; 
 ** рекурсивные схемы; 
 ** tagless final; 
 ** overloadable stuff; 
 ** lens/optics/category-arrow-iso-semiiso; 
 ** Functor Functors / Higher-Kinded Data; 
 ** property-based testing (на странице [[Haskell]] ссылки на много библиотек); 
 ** ...; 
 * расширения haskell (language extensions): extensions); 
 ** TypeFamilies + DataKinds и все-все-все - typelevel данные, аннотации, вычисления и все такое; 
 ** ExistentialQuantification; 
 ** ...; 
 * библиотеки -- как выбрать, когда несколько; сравнения, скандалы, интриги, расследования; 
 * системы эффектов в функциональных языках 
 ** monad transformers, MTL; 
 ** freer monads; 
 ** capability; 
 ** algebraic effects; 
 ** ... 
 * зависимые типы (в частности, в применении к спецификации); 
 * ???. 

 h2. Семинары (темы и планы) 

 h3. 01.11.2019 -- Тайпклассы Haskell и для чего их можно использовать 

 h4. Prerequisites 

 TBD 

 h4. Мясо 

 TBD 

 h4. Задания? 

 TBD 

 h3. 13.11.2019 -- TBD church encoding something