scalabook

Форк
0
/
invariant-applicative.md 
30 строк · 978.0 Байт

Invariant Applicative

Формальное определение

Инвариантный Applicative поддерживает операции xunit0

, xunit1
и т.д., которые "оборачивают" тип в инвариантный функтор. InvariantApplicative
расширяет InvariantFunctor
.

Используется для получения класса типов продуктов и типов значений.

Определение в виде кода на Scala

trait InvariantFunctor[F[_]]:
extension [A](fa: F[A]) def xmap[B](f: A => B, g: B => A): F[B]
trait InvariantApplicative[F[_]] extends InvariantFunctor[F]:
def xunit0[A](a: => A): F[A]
extension [A](fa: => F[A])
def xunit1[B](f: A => B, g: B => A): F[B] =
fa.xmap(f, g)

Ссылки:

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.