Re[8]: Есть ли вещи, которые вы прницпиально не понимаете...
От: welltyped2  
Дата: 04.12.13 10:03
Оценка: 4 (1)
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, welltyped2, Вы писали:


W>>попробуйте прочитать http://habrahabr.ru/post/151703/


D>

D>Решить с помощью map не выйдет. так как в результате получим Maybe<Maybe<B>>, поэтому нам нужна еще одна функция
D>static class Monad {


D>В скале это называется flatMap() в дополнение к map(). И что, это и есть монада? Господи, да в скаловских коллекциях функций мильярд, на каждую придумывать по параллельному термину — озвереешь.

flatMap это только для списков. Если абстрагировать его на любой F[A] и добавить pure, то в итоге можно получить то что есть в scalaz
trait Monad[F[_]] extends Applicative[F] with Bind[F]
где как раз Bind дает
def bind[A, B](fa: F[A])(f: A => F[B]): F[B]
а Applicative
def pure[A](a: => A): F[A]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.