IOã¢ããã®å®è£
æ¨æ¥ããã°ã£ã¦IOã¢ããã®å®è£ ãã©ããªã£ã¦ãã®ãèå¯ããã®ã§ãçããè¦ã
http://itpro.nikkeibp.co.jp/article/COLUMN/20070206/260872/
ããåèæç®ããã©ã£ã¦
http://homepages.inf.ed.ac.uk/wadler/topics/monads.html#imperative
ãèªãã§ã¿ãã¨ãããæ¨æ¥å®è£ ããã®ã¯ç¶ç¶ã使ã£ãIOããããIOã¢ããã¯ãã£ã¨å¹ççã«å®è£ ã§ãã¦ãããã¯ã»ã¨ãã©Stateã¢ããã¨åãã ãã©Stateãæ´æ°ããã¨ãããè©ä¾¡ããã¨ããã§ãå¯ä½ç¨ã®ããCã®é¢æ°ãå¼ã¶ã¨ããå®è£ ã§æ£ããåä½ãããã¨ãã¢ãããä¿éãã¦ããã¦ãããã ãç¶ç¶ã®ã»ãã¨ã¢ããã®ã»ãã¯æ¨æ¥å®è£ ããããã«ç¸äºã«ã¨ãã¥ã¬ã¼ãã§ããã
NiseIOã¯IOã¢ãããç¶ç¶ã使ã£ã¦å®è£ ããexecuteNiseIOã¯ç¶ç¶ãIOã¢ããã使ã£ã¦å®è£ ããã¨ãããã¨ã«ãªã£ã¦ããã ã
次ã¯Haskellã§Project Eulerã®åé¡ãä¸å解ãã¦ã¿ãããªã291ã¨ãé©å½å®è£ ã§ã¯çµãããªãã£ãããã¡ãã£ã¨èå¯ãã¦å®è£ ãã¦ã¿ããã