2015-01-01ãã1å¹´éã®è¨äºä¸è¦§
ããã¯http2 Advent Calendar 2015ã®25æ¥ç®ã®è¨äºã§ããããã¾ã§ web ãµã¼ãã®ã¹ã«ã¼ããããå³ãã«ã¯ weighttp ãå®çªã§ãããããããã h2load ã使ãã¾ããããh2load ã¯ãnghttp2ã¨ä¸ç·ã«é å¸ããã¦ãããã³ããã¼ã¯ãã¼ã«ã§ãã以ä¸ã®ãããªç¹å¾´ãããâ¦
ããã¯Haskellã¹ãã¼ã¹ãªã¼ã¯ Advent Calendar 2015ã®17æ¥ç®ã®è¨äºã§ãã :sprint 㨠MonomorphismRestriction ãµã³ã¯ã®ãªã¼ã¯ãé²ãã«ã¯ãã©ã®å¼ããµã³ã¯ããç解ããå¿ è¦ãããããã®ããã«ä¾¿å©ãªã®ããGHCiã®:sprint ã³ãã³ãã ãMonomorphismRestrictionâ¦
ããã¯Haskellã¹ãã¼ã¹ãªã¼ã¯ Advent Calendar 2015ã®14æ¥ç®ã®è¨äºã§ããã¹ã¬ãããªã¼ã¯ã¨ã¯ä¸è¬çã«ãçµäºããããã¨ãå¿ããã¹ã¬ãããæ®ãç¶ãããã¨ãè¨ããããã¯çµäºããå¿ããã®ãæªãã¨ããä»ãªããä¸æ¹ã§ãGHC ã§ã¯ãã¹ã¬ãããçµäºãããã«ãããâ¦
ããã¯Haskellã¹ãã¼ã¹ãªã¼ã¯ Advent Calendar 2015ã®8æ¥ç®ã®è¨äºã§ããIOã®ã³ã¼ãã¯ãæ®éã«æ¸ãã°æ«å°¾å¼ã³åºãã®æé©åãå¹ãå½¢ã«ãªãããã¨ãã°ããããªæãï¼ foo :: Char -> String -> IO Int foo a b = do c <- bar a b zoo b c woo c woo :: Int -> Iâ¦
ããã¯ãHaskellã¹ãã¼ã¹ãªã¼ã¯ Advent Calendar 2015ã®7æ¥ç®ã®è¨äºã§ããå㯠Haskell ã§ä¸»ã« IO ãªã³ã¼ããæ¸ãã¦ãããããããã¾ãã¹ãã¼ã¹ãªã¼ã¯ãèµ·ããããã¨ããªããããã¾ã§èµ·ãããå¯ä¸ã®ã¹ãã¼ã¹ãªã¼ã¯ã¯ããµã¼ãããã°ã©ã ã®ä¸ã®ä»¥ä¸ã®ãããªã³â¦
次ã®ãã¼ã¸ã§ã³ã§ãã GHC 8.0 ã§ã¯ãæ£æ ¼è©ä¾¡ç¨ã®ãã©ã°ãã㦠Strict 㨠StrictData ãæä¾ããã¾ããç°å¢ãä½ã£ã¦ã¿ãã®ã§ãå°ã試ãã¾ããã以ä¸ã®ãã¡ã¤ã«ãç¨æãã¾ãã {-# LANGUAGE DeriveFunctor #-} module A where data List a = Nil | Cons a (Lâ¦
ãã®è¨äºã¯ãHaskellãåå¼·ãã¦ããç¨åº¦åãã£ããã©ãMonadã§æ«æãã人ã®ããã®è¨äºã§ãã10åéã§ãMonadã«å¯¾ããç´å¾æãå¾ããã¨ãç®çã¨ãã¦ãã¾ããä»ã®è¨èªã§ãããã¢ãããã«ãéç¨ããå 容ã§ãããHaskell ã®ææ³ãç¨èªãç¨ãã¾ãã®ã§ãä»ã®è¨èªã®â¦