scalabook

Форк
0
/
applicative-plus.md 
50 строк · 1.2 Кб

ApplicativePlus

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

ApplicativePlus

- это моноидальный аппликативный функтор, Applicative
комбинированный с PlusEmpty
.

ApplicativePlus

должен удовлетворять законам своих родителей.

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

trait ApplicativePlus[F[_]] extends Applicative[F], PlusEmpty[F]

Примеры

Связанный список

given ApplicativePlus[List] with
override def unit[A](a: => A): List[A] = List(a)
override def apply[A, B](fab: List[A => B])(fa: List[A]): List[B] =
fab.flatMap { aToB => fa.map(aToB) }
override def plus[A](fa1: List[A], fa2: => List[A]): List[A] = fa1 ++ fa2
override def empty[A]: List[A] = List.empty[A]

Реализация

Реализация в ScalaZ

import scalaz.*
import Scalaz.*
// ... Все операции родителей

Ссылки:

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

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

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

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