2011-05-01ãã1ã¶æéã®è¨äºä¸è¦§
ãCoders at Workãã¯ã15人ã®æåããã°ã©ãã¼ã«å¯¾ããã¤ã³ã¿ãã¥ã¼ãã¾ã¨ããæ¬ã ãç§ã¯5人ã®ã¤ã³ã¿ã¼ãã¥ã¼ãèªãã æç¹ã§ãã®è¨äºãæ¸ãã¦ãããCoders at Work ããã°ã©ãã³ã°ã®æããããæ¢æ±ä½è : Peter Seibel,éæ¨éåºç社/ã¡ã¼ã«ã¼: ãªã¼ã 社çºå£²â¦
Haskelléçºã«é¢ä¿ãããã¼ã«ãã¨ãã¨ãããªãåæãã¦ã¿ã¾ãã ã¨ãã£ã¿/IDE åã¯ãEmacs 㨠haskell-mode 㨠ghc-mod ãçµã¿åããã¦ä½¿ã£ã¦ãã¾ããhaskell-mode ã¯ãè¡é æãã®æ©è½ãããã¼ãã®ã§ãä½ãç´ãããã¨æã£ã¦ãã¾ããIDE ã®ããã¯ã¨ã³ãã¨ãã¦â¦
ãã®è¨äºã§ã¯ãåºæ¬ã©ã¤ãã©ãªã§ãã Prelude ã®é¢æ°ãã ãããç解ãã人ãã次ã«ç¥ãã¹ãã©ã¤ãã©ãªãç´¹ä»ãã¾ããèªç±èªå¨ã«ãªã¹ãã使ãããªããæ£è¦è¡¨ç¾ããªãã¦ãããã°ã©ãã³ã°ãã§ãããã ãªã¨å®æãã人ã対象ã«ãã¦ãã¾ãããã®è¨äºã®ãã¼ãã¯ãè±â¦
é©åãªä¸æ©ãè¸ã¿åºããå¦ãã¯ã大ããªéããçã¿ã¾ãããã®è¨äºã§ã¯ã2011å¹´ã« Haskell ãå§ãã人ã®ããã«ãèè ãèããæé©ãªå ¥éæ¹æ³ã示ãã¾ãã Haskell Platform ãã¤ã³ã¹ãã¼ã«ãã æ人æ°ã®ãã£ã Hugs ã¯ãããä¿å®ããã¦ãã¾ãããç¾å¨ã¯ãGHC â¦
Haskeller ããè¦ãã°ãæ¨æºåºåã«è¡¨ç¤ºãªãã¦ããµããorz import Control.Concurrent sleepSort :: [Int] -> IO () sleepSort = mapM_ (forkIO . sleepy) where sleepy n = threadDelay (n * 1000) >> print n
Haskell çéã§ã¯ãçç£è /æ¶è²»è ã®ã¢ãã«ã¨ãã¦ãEnumerator/Iteratee (EI)ãæµè¡ã£ã¦ãããããããEI ãç解ããã®ã¯é£ãããããã§ãã®è¨äºã§ã¯ããã£ã¨ç°¡åãªçç£è /æ¶è²»è ã¢ãã«ã示ããEI 㯠Enumerator ã Iteratee ã« push ãã push åã ããç´¹ä»â¦