ããããªã¨ããã§è¨ããµããã¦ã¾ããããããå°ãããããããã¨ããã«ãã£ãæ¹ãããããªã¨ããã®ã¨ãã³ã³ããã¹ããã¡ãã£ã¨æ¸ãã¦ãããæ¹ãããã ããã¨æã£ãã®ã§ãããã«ãæ¸ãã¦ããã¾ãã - [Monads are Trees with Grafting (PDF)](https://dl.dropbox.com/u/360784/Monads.ja/monads.ja.pdf) - [Monads are Trees with Grafting (Literate Haskell)](https://dl.dropbox.com/u/360784/Monads.ja/monads.ja.lhs) "[Monads are Trees with Grafting][Sigfpe]" ã¯ã¢ããã»ãã¥ã¼ããªã¢ã«ã§ããMonad ã¯ããæ³åãæºããæ¨æ§é ã¸ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã ã¨ãããã¨ããå³ãã³ã¼ã
This is an attempt to collect together, in tutorial form, a few of the things I've said about monads going back as far as my field guide. It's probably not a good first tutorial, but it contains things I'd wish I'd known immediately after reading my first tutorial. Unfortunately, I used a few more LaTeX features than I ought to have while drafting it making it hard to get back into HTML form clean
è«æç´¹ä»ï¼How to Declare an Imperative Philip Wadler. ACM Computing Surveys, 29(3):240--263, September 1997.ï¼WWW:Wadler: Monadsï¼ 1. å°å ¥ 2. ç¸äºä½ç¨ã¸ã®monadã¢ããã¼ã åºæ¬çãªå½ä»¤ Equational reasoning å¤ãåãå ¥ããå½ä»¤ letã®é¡ä¼¼ç© monadã®æºããæ³å monadã¨å½ä»¤åããã°ã©ãã³ã° Cé¢æ°ã®ç´æ¥å¼ã³åºã 3. ç¸äºä½ç¨ã«å¯¾ãããã®ä»ã®ããæ¹ åæãããã¹ããªã¼ã ï¼synchronized streamï¼ continuation ç·å½¢è«çï¼linear logicï¼ å¯ä½ç¨ï¼side effectï¼ 4. é¢é£ç 究 5. çµè« ä¸éã¨é«é ããã¯ã»ãã©ã㯠1.å°å ¥ 400å¹´ç¨åãã«ã«ãã®åé¡ å¿ã¯çä½ã¨ã©ãç¸äºä½ç¨ããã®ãï¼
åè«ã®æ大ã®æ¦å¨ã¯ãã¤ã¢ã°ã©ã ãªã®ã§ãã¢ããã§æããã²ããããã®ãªããã¤ã¢ã°ã©ã ã使ãã°ããããããªãã§ããããã ãã¤ã¢ã°ã©ã ã®æ¸ãæ¹ ä¾ãã°ãã f :: a -> b ãã¨ããlength :: [a] -> Intãã¯ä»¥ä¸ã®ããã«æ¸ãã¾ããåãç¹ã§ãé¢æ°ãç¢å°ã§æ¸ãã¾ãã ãã¤ã¢ã°ã©ã ã®å©ç¹ã¯ãfãlengthã®ä¸èº«ãå¿ãã¦ç°¡ç¥åãããã¨ãã§ãããã¨ã§ãã人éã®è³ãã§ãããã¨ã«ã¯éããããã®ã§ã注ç®ããæ å ±ãå°ãªãæ¹ãç解ãããããªãã£ã¦ã¹ã³ãã¼ã§ãã ãªãã åæ g . f ã¯å³ç¤ºããæã«é ãéã«ãªãã®ã§æ°ãã¤ãã¦ä¸ãããããã¯ãåæé¢æ°ã®é©ç¨ã g ( f x ) ã¨æ¸ãããã¨ã«ç±æ¥ãã¦ã¾ããã¾ãfãé©ç¨ãã次ã«gãé©ç¨ããã¨ãããã¨ã§ãã return 㨠>>= ã®å³ç¤º ä»åã®ãã¤ã¢ã°ã©ã ã®ç´æã¨ãã¦ãå ã¨ãªãå(Bool, Char, Int ç)ã¯æä¸æ®µã«æ¸ãã¾ããã
ITProã®Scalaé£è¼ãåºæ¿ãæ±ããæè¡è ã«æ§ããScalaè¬åº§ãã®ç¬¬14å é¢æ°è³ã®ã¤ããæ¹ãSecond Seasonããã¢ããã§æããã²ããããã¯ã¦ãªããã¯ãã¼ã¯ã§150ãã¯ãè¶ ãããªã©æ³¨ç®ãéãã¦ãã¾ãããèªãã§è¦ãã¨åå¦è ã«èª¤è§£ãä¸ããç®æãæ£è¦ãããã®ã§ãä¸å¿ãé£è¼ã«é¢ãã£ã¦ãè (ã¨ãã£ã¦ãï¼åè¨äºæ¸ããã ãã§ãã)ã®ä¸äººã¨ãã¦ããã³ããå ¥ãããã¦ããã ãã¾ãã ãåç §éææ§ãä¿æããªããæç¶ãåçãªè¨è¿°ãããããã®æ çµã¿ãï¼(p.1) ã¢ããã¨ã¯ï¼é¢æ°åè¨èªã§ï¼åç §éææ§ãä¿æããªããæç¶ãåçãªè¨è¿°ãããããã®æ çµã¿ã§ãã æ©éã§ãããããã¯ãIOã¢ãããStateã¢ããã«ã¯å½ã¦ã¯ã¾ã£ã¦ããå ¨ã¦ã®ã¢ããã«ã¤ãã¦å½ã¦ã¯ã¾ããã®ã§ã¯ãªãã§ãããããã¨ãã°ãMaybeã¢ããã§ã¯ããã¯å½ã¦ã¯ã¾ãã¾ããã ãã¢ãããHaskellã§å¿ è¦ãªçç±ãï¼ ããã¯ãã¼ã¸ã¿ã¤ãã«ã®ä¸é¨ã§ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}