Семинар » 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