Что это значит, что "лифт почти такой же, как карта"?
Леонардо Борхес написал отличную статью под названием "Функциональная композиция с монадами, Клейслисом и функторами".
В нем он комментирует:
Марк указал мне, что лифт почти такой же, как карта, но с перевернутыми аргументами.
Это означает, что это:
val f = Functor[Option].lift(parts) compose make
может быть изменен на:
val g = make(_:Int).map(parts)
Мой вопрос: что означает, что "лифт почти такой же, как карта?"
1 ответ
Решение
def map[A, B](fa: F[A])(f: A => B): F[B]
def lift[A, B](f: A => B): F[A] => F[B] = map(_)(f)
ПРИМЕЧАНИЕ: лифт только что определен в терминах карты (перестановка аргументов)
В основном, когда люди начинают с функционального программирования, они знакомятся с map
как отображение функции на последовательность вещей, но map
в целом это более абстрактное понятие, связанное с функтором.