Специалист, приступающий к изучению функционального программирования, сталкивается как с неоднозначностью и запутанностью терминологии, так и с постоянными ссылками на «серьезную математику».
В этой статье, не используя теорию категорий с одной стороны и эзотерические языковые механизмы Scala с другой стороны, рассмотрены два важнейших понятия
Объяснено происхождение категориальной терминологии, указана роль языковых механизмов в реализации категориальных абстракций и рассмотрено несколько ковариантных (Option, Try, Future, List, Parser) и контравариантных (Ordering, Equiv) функторов из стандартной библиотеки Scala.
Первая статья в «категориальной серии»:
Если Вы желаете сильнее погрузиться в мир Scala, математики и функционального программирования — попробуйте онлайн-курс «Scala for Java Developers» (видео + тесты, всего за 25% цены!).
В этой статье, не используя теорию категорий с одной стороны и эзотерические языковые механизмы Scala с другой стороны, рассмотрены два важнейших понятия
- ко-вариантный функтор
- контра-вариантный функтор
- Exponential (Invariant) Functor, BiFunctor, ProFunctor
- Applicative Functor, Arrow, Monad / Co-Monad
- Monad Transformers, Kleisli, Natural Transformations
Объяснено происхождение категориальной терминологии, указана роль языковых механизмов в реализации категориальных абстракций и рассмотрено несколько ковариантных (Option, Try, Future, List, Parser) и контравариантных (Ordering, Equiv) функторов из стандартной библиотеки Scala.
Первая статья в «категориальной серии»:
- FP на Scala: что такое функтор?
- FP на Scala: Invariant Functor
Если Вы желаете сильнее погрузиться в мир Scala, математики и функционального программирования — попробуйте онлайн-курс «Scala for Java Developers» (видео + тесты, всего за 25% цены!).
- Про языковые механизмы абстракции
- Про теорию категорий и Haskell
- Что такое ковариантный функтор
- Примеры ковариантных функторов
- Ковариантный функтор: Identity Law
- Ковариантный функтор: Composition Law
- Ковариантный функтор: используем для оптимизации
- Что такое контравариантный функтор
- Примеры контравариантных функторов
- Контравариантный функтор: Identity Law
- Контравариантный функтор: Composition Law
- Что дальше?