Eingabeparametern ab Die Funktion hat keine Seiteneffekte / / p u r e : f u n c t i o n m o r e ( x ) { r e t u r n x + 1 ; } / / i m p u r e : c o n s o l e . l o g ( " S e i t e n e f f e k t " ) ;
- > N u m b e r c o n s t l a s t I n d e x = ( x ) = > s u b t r a c t ( l e n g t h ( x ) , 1 ) ; c o n s t l a s t I n d e x = c o m p o s e ( s u b t r a c t ( _ _ , 1 ) , l e n g t h ) ; c o n s t l a s t I n d e x = p i p e ( l e n g t h , s u b t r a c t ( _ _ , 1 ) ) ;
f a -> f b / / ( a - > b ) - > f a - > f b / / ( S t r i n g - > N u m b e r ) - > [ S t r i n g ] - > [ N u m b e r ] m a p ( l e n g t h , [ " h e l l o " , " f u n c t o r " ] ) / / [ 5 , 7 ]
f a -> f b / / ( a - > b ) - > f a - > f b / / ( N u m b e r - > N u m b e r ) - > M a y b e N u m b e r - > M a y b e N u m b e r m a p ( m u l t i p l y ( 2 ) , M a y b e . J u s t ( 4 ) ) / / M a y b e . J u s t ( 8 )
eine "bind"-Funktion, auch bekannt als: =<< then chain mapcat flatMap thenCompose transformAndConcat bind: Monad m => (a -> m b) -> m a -> m b Monad Laws: "Implementiere bind bitte vernün ig."