fullstack-development / developers-roadmap

How to learn front-end or back-end development
1.19k stars 263 forks source link

Стажировка, Haskell: убрать Arrow и указать явно, что читать в тайпклассопедии #350

Closed antonkalinin-ml closed 2 years ago

antonkalinin-ml commented 2 years ago

Предлагаю разрешить не изучать Arrow, так как он сложный и редко нужен, мне до не пригодился ни разу. Насколько я видел, в других библиотеках Arrow используют мало, больше профункторы. Полезно вспомнить, что каждая стрелка это по сути профунктор (хотя Arrow не наследуется от Profunctor, для любой стрелки можно реализовать профунктор), но стрелки сложнее, а профункторы мы учим на мидле.

В тайпклассопедии повторяется много материала по монадам и есть много ненужного. Можно указать явно, про что читать в тайпклассопедии (естественно, никто не запретит читать больше): Applicative (?), MonadFail, transformers (под вопросом, так как они объяснены в книгах), Semigroup, Monoid.

Остальное кажется лишним: Comonad, Arrow & co, Category, Bifunctor (есть на middle-1), MonadPlus & Alternative & Foldable & Traversable (есть на jun-2),

antonkalinin-ml commented 2 years ago

Перенесено в https://github.com/fullstack-development/haskell-internship/issues/13