Являются ли потоки в Java 8 монадами?

Похоже, Необязательный в Java 8 - монада.

Являются ли потоки также монадами?

Может ли кто-нибудь идентифицировать endofunctor и два естественных преобразования в дополнительной монаде?

Ответ 1

РЕДАКТИРОВАТЬ Ниже представлен неверный (сохраненный здесь для истории).

Да, в каждом случае функтор состоит из класса и его метода map, а два естественных преобразования of и flatMap(identity).

Правильный ответ кажется здесь.

Ответ 2

Если вы знаете Haskell: Java Stream - это не что иное, как Haskell list monad [], а Java Optional - не что иное, как Haskell Maybe monad.