This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
courses:functional_programming:lectures [2018/11/19 18:52] vnikolenko edit semigroup, monoid |
courses:functional_programming:lectures [2018/12/03 17:00] vnikolenko |
||
---|---|---|---|
Line 48: | Line 48: | ||
* Операторы и сечения | * Операторы и сечения | ||
* Модули | * Модули | ||
- | * Реализации языка Haskell и инфраструктура | + | * Реализации языка Haskell и инфраструктура (cabal, stack, hackage, hoogle) |
===== Основы программирования в Haskell ===== | ===== Основы программирования в Haskell ===== | ||
Line 70: | Line 70: | ||
* Semigroup a, закон для полугруппы | * Semigroup a, закон для полугруппы | ||
* Semigroup a => Monoid a, законы для моноида | * Semigroup a => Monoid a, законы для моноида | ||
+ | * Стандартные моноиды ([a], Any, All, Product a, Sum a, Endo a, Dual a, Last a, First a) | ||
* Foldable | * Foldable | ||
Line 77: | Line 78: | ||
* Аппликативные функторы | * Аппликативные функторы | ||
* Законы для аппликативных функторов | * Законы для аппликативных функторов | ||
+ | * Функция как функтор, аппликативный функтор | ||
+ | * Список как аппликативный функтор, ZipList | ||
+ | <del> | ||
===== Использование аппликативных функторов ===== | ===== Использование аппликативных функторов ===== | ||
* Аппликативные парсеры | * Аппликативные парсеры | ||
Line 84: | Line 88: | ||
* Класс типов Traversable | * Класс типов Traversable | ||
* Законы класса Traversable | * Законы класса Traversable | ||
+ | </del> | ||
===== Монады ===== | ===== Монады ===== |