KD
Size: a a a
KD
KD
ML
KD
I
I
IP
IP
IP
I
IP
(
(
(Either<*, Int>) -> Either<*, Int>
, а именно map { it + 1 }
.map :: (a -> b) -> (f a -> f b)
, что грубо читается как "морфизм из категории типов отображается в морфизм в категории типов, завернутых в какое-то f
функтором map
". На самом-то деле это конечно эндофунктор, и ты остаешься в той же категории типов, потому что в программировании у тебя категория только одна - собственно, типов. И то это не всегда категорияКР
map :: (a -> b) -> (f a -> f b)
, что грубо читается как "морфизм из категории типов отображается в морфизм в категории типов, завернутых в какое-то f
функтором map
". На самом-то деле это конечно эндофунктор, и ты остаешься в той же категории типов, потому что в программировании у тебя категория только одна - собственно, типов. И то это не всегда категорияКР
(
F
другой функтор G
, пример - Option<A> -> Either<Unit, A>
LS