åæç¥èï¼ã¢ãã ã¢ãããç解ããã¨ãã¢ããæãä¿¡ãããã¨ã¯åºæ¥ã¾ããï¼ç解ãã¦ããã°ããæ·±ãç´å¾ã§ããã§ãããï¼ æä½ :: å -> å ã¯ï¼"å"ãã"å"ã¸åã"æä½"ã®åå¨ã表ãã¾ãï¼ ã¢ããã®æè m ãå¿ è¦ã¨ãã2ã¤ã®æä½ï¼ return :: a -> m a ã§ï¼å¤ãä¿ã¡ã¤ã¤æè m ã®ä¸ã«å ¥ãè¾¼ããã¨ãåºæ¥ã¾ãï¼ (=<<) :: (a -> m b) -> (m a -> m b) ã§ï¼ãå¤ãæèã«å ¥ã£ãå¥ã®å¤ã¸åãæä½ãããæèã«å ¥ã£ãå¤ãåãæèã«å ¥ã£ãå¥ã®å¤ã¸åãæä½ãã«å¤æãã¾ãï¼ id :: a -> a ã¯å¤ããã®ã¾ã¾è¿ãæä½ã§ãï¼ id ã =<< ã§å¤æãã¦å¾ãããæä½ join :: m (m a) -> m a ã§ï¼äºéã«æèã«å ¥ã£ãå¤ãä¸éã®æèã«å ¥ã£ãå¤ã«æ»ããã¨ãåºæ¥ã¾ãï¼ æèã®å¤ããçã®å¤ãåãåºãå m a -> a ãæã¤æä½ã¯ï¼ä¸è¬
{{#tags}}- {{label}}
{{/tags}}