Являются ли потоки в Java 8 монадами? Похоже, Необязательный в Java 8 - монада. Являются ли потоки также монадами? Может ли кто-нибудь идентифицировать endofunctor и два естественных преобразования в дополнительной монаде? Ответ 1 РЕДАКТИРОВАТЬ Ниже представлен неверный (сохраненный здесь для истории). Да, в каждом случае функтор состоит из класса и его метода map, а два естественных преобразования of и flatMap(identity). Правильный ответ кажется здесь. Ответ 2 Если вы знаете Haskell: Java Stream - это не что иное, как Haskell list monad [], а Java Optional - не что иное, как Haskell Maybe monad.
Ответ 1 РЕДАКТИРОВАТЬ Ниже представлен неверный (сохраненный здесь для истории). Да, в каждом случае функтор состоит из класса и его метода map, а два естественных преобразования of и flatMap(identity). Правильный ответ кажется здесь.
Ответ 2 Если вы знаете Haskell: Java Stream - это не что иное, как Haskell list monad [], а Java Optional - не что иное, как Haskell Maybe monad.