AM
Size: a a a
AM
AM
(
с#
BP
BP
(
forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
, который эмулирует foreach
внутри любой монады m
. Если я возьму его в хаскеле, то я смогу его использовать хоть с Maybe, хоть с Either, хоть с этим самым Async, хоть с IO. Если я напишу такой на рх-е, а потом захочу почувствовать себя белым человеком, я обосрусь, потому что в котлине нет тайпклассов и хктAM
forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
, который эмулирует foreach
внутри любой монады m
. Если я возьму его в хаскеле, то я смогу его использовать хоть с Maybe, хоть с Either, хоть с этим самым Async, хоть с IO. Если я напишу такой на рх-е, а потом захочу почувствовать себя белым человеком, я обосрусь, потому что в котлине нет тайпклассов и хктAM
AN
(
BP
(
AN
BP
AN
AM
AM
(
AM