Pull to refresh
6
0
Алексей @RubikS

User

Send message
Что касается функции unit, то она отвечает за создание монады и для каждой монады она отличается. Для примера, функция unit.

для монады Option это Some(x)
для монады List это List(x)
для монады Try это Success(x)

Разве Try является монадой? У нее же нарушается left unit law…
Пример:
import scala.util.Try

def f[T]: T => Try[T] = x => throw new Throwable
val num: Int = 5

Try(num) flatMap f

f(num)

Результаты последних двух выражений отличаются, хотя для монады должны быть равны.
Все верно, спасибо, что написали.
Теперь репозиторий открыт для просмотра.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity