2006-04-01ãã1ã¶æéã®è¨äºä¸è¦§
æè¿ã¯é»æãã²ã©ãã¦ãããããã¨ãã£ããã¯ã»ã¨ãã©ã¿ã¦ããããªãã£ããã ãã©ãä»æ¥ã¯ããããéµä¾¿ã§ä½ããã®ããªã¨æã£ã¦ãã¾ãã¾ã¿ããã¤ã¬ã®ã¥ã©ã¼ã«çµµããæãããã¨ãããã¨ã§ãã§ããã¯æããã«ãããããããããã®çµµãç¬ããã³ã¼ãã¼ãªã®ã§ãæâ¦
ä»æ¥ã®ååã«åããäºå®ã ã£ãã®ã§ãããäºæ³éããã£ã½ããã¦ãã¾ã£ã¦ãå¥åº·è¨ºæããã¾ã¨ãã«è¡ããªã人ã¯ä½ã®ã¨ã³ã¸ãã¢ã§ãããã¨ããããªããåå¾ã«åãã«ãã£ãã®ã§ãããè¡ã£ã¦ã¿ãã¨ãæ¡è¡ãããçè·å©¦ããã®åã§ã¯ã ãããå¹³çã ãã¿ãããªæ°åã«ãªâ¦
æ°ãæ» å ¥ããæ©ãå¯ããã
æ£é¢å³ã®å¸ã®å¥³ã®äººããç§ç©ã£ã½ãå°èª¬ããªããã¼ã¨ããæ¬ãæºã«ç½®ãã¦ãã¦ããã®è¡¨ç´ã«ãããã¨ã大å¡è±å¿ã¨ãå éç¬æªåã¨ãæ¸ãã¦ãã£ãã®ã§ãã¯ã¦ãªTã·ã£ãã§æ¥ãã®ã¯ã¾ããã£ãããªã©ã¨å¿é ããªããæ¬ãèªãã§ãã¾ããã
æ©å¯æ©èµ·ãã大æµèµ·ãã¯ãããã ãã©8:30éãã«ã¾ãå¯ã¦ãã¾ãã®ã§è¯ããªãã
ç²ããæ¥ã¯æ©ãå¯ãã
ãã¼ãã·ã¼ã
ã¨ã¤ããªã«ãã¼ã«ã«ããããã絡ããåºä¼ãç³»ãµã¤ããä½ããã¨ãã話ããã£ããã ãã©å·¥æ°ãã®ä»ã®äºæ ã§ãããã
æ°åã®è¯ããªãã¨ãã«ä½ãæ¸ãã®ã¯ãããªã
ã³ã³ããã®éèããã¿ãããªãµã©ããé£ã¹ããç´°åãã®ãã£ãããè¦ããªãããã«æ·ãè©°ãã¦ãã®ãããã
ã²ã©ãã¯ãªããã©ãå½¹ã¨ã®ããåããã¨ãããããããã®ã¯è²ã ãããªããªã©ã¨æãã
å¹çãæªãã®ã§ãHaskellã§SICPãã¯ãã°ãããä¼ã¿ãã¾ãã
1.3.3 search ãæ¸ãã¦ã¿ãã search :: (Fractional a, Ord a) => (a -> a) -> a -> a -> a search f neg pos = let mid = average neg pos in if closeEnough neg pos then mid else case signum (f mid) of 1 -> search f neg mid -1 -> search f mid posâ¦
1.2.6 ç´ æ° æå°ã®é¤æ°ãæ±ããããã®éãã«ãããããé¤æ°ã®ãªã¹ããä½ãã»ããç°¡åããªã divisers :: Int -> [Int] divisers n = [ x | x <- [2 .. limit], n `mod` x == 0] where limit = floor (sqrt (fromIntegral n)) isPrime :: Int -> Bool isPrimeâ¦
ãããããã¨ã§ãåé¡1.11 ã®å復çãªãã®ã Haskell ã§æ¸ãã¨ãã¯ãã®åæ¸ãã f n = iter 2 1 0 n where iter a b c count | count == 0 = c | otherwise = iter (a + 2 * b + 3 * c) a b (count - 1)ã§ã¯åºå®ã¹ãã¼ã¹ã§å®è¡ã§ããªãã¦ããããããªãã¨ãâ¦
p303 newtype ã³ã³ã¹ãã©ã¯ã¿ãä¸ã¤ã®æ㯠data ãããªã㦠newtype ã¨æ¸ãã¨å¹ççããããªãã¨æ©æ¢°ãåæã«ããã°ããã®ã«ã p308 $6,4000 question ããªãªãã¢ã¿ãããªã¯ã¤ãºçªçµããã -> http://www.museum.tv/archives/etv/S/htmlS/$64000quest/$64000â¦
æè¡ã«è¡ã人å¨è¾ºãçã£ç«¯ããbloglinesã«å ¥ãã¦ãã¨ããã®ããã£ã¦ã大ä¸å¤«ãªã®ã ãããããããããããæ¨ã¦ã¦ãã¾ããããªããã®ããããªã«ãåã¯ç«æ´¾ãªã®ãã¨è¨ãããã¨ããã ãã©
ãã£ã±ããããªãã p81 == ã§ãªã¹ãã®ä¸èº«ãè¦ããã ãä»£å ¥ãåºæ¬ãªãã®ã§ãªãã¡ã¬ã³ã¹ã¨ãããã辺ã®æãæ¹ãã ãã¶éããã ãããªããªã©ã¨æã p105 [ x | (x, t) tupleã¨ããªã¹ãã¨ãé¢æ°ã®å¼æ°åã¨ãè²ã ãã£ã¦ããããããªãæãããããperlã ã£ããâ¦
ããããããã¤ãããã»ã»
ã¤ããã
Haskell:The Craft of Functional Programming (International Computer Science Series) ã¾ãåºæ¬çãªæ¸ãæ¹ãè¦ãããã¨ãããã¨ã§å ¥éæ¸ããéå°ã«ã¦ããããªã®ã§ããã«èªããã¨äºæ³ããã¦ãã¾ãã 3ç« p44 Float fromInt ããªãã -> fromIntegral ã£ã¦â¦
ãã¼ãªã¼ã¤ã³ãããã¤ã¶ã¤ã¶æèå ¥ããã®è¨èã«å¼±ãããªãã¦æ¸ãã¨DPZã£ã½ãã åã¯ãã¾ã¾ã§åã®ç¥ããªããã¼ã ãã¼ã¸ãããã¤ãä½ã£ã¦ãããã©ãæåã«ä½ã£ãã®ã¯æ¥è¨é¢¨ãã¿ããã¹ãã¨ããããFlashã¨ããä¸çæ¸å½èãããã¤ã§ãããã¯ããã®ç®ãçä¼¼ããã®â¦
ãã©ã¦ã¶ã®ã¢ãã¬ã¹ãã¼ã« http://d.hatena.ne.jp/[a-zA-Z] ãå ¥åããæã«è£å®ãããURLãæ¸ã
ã²ãã½ãã¯p26ã®æ¼ç¿ããã£ã¦ããã®ã§ããã«è¿½ãã¤ãã®ãç®æ¨ã§ãã åºæ èªã¿ã¥ããï¼ã㹠第1ç« p1 - p4 ãç°å¢ã 注éã®æ¬å¼§ãå ¥ãåã«ãªã£ã¦ãã¨ããããããã ãã p17 sqrtãhakellã§æ¸ãç´ããããã p20 æ«å°¾å帰 å帰çããã»ã¹ã®æ¹ãèªç¶ã«è¦ããâ¦
perlã®éã¾ã以æ¥ã¡ããã¨ããã°ã©ã ãæ¸ããããã«ãªããç±ãé«ã¾ã£ã¦ããã®ã§ãã²ãã½ãã«ä¾¿ä¹ãã¦ããã°ã©ã ãå¦ã¼ããã¨ããè¨ç»ã§ããã¨ãããããããã¨ã¯ ã²ãã½ãã«åããã¦SICPãèªã 以åéä¸ã¾ã§ãã£ã¨èªãã ãã©å ¨ãé ã«æ®ã£ã¦ãªã haskellããâ¦
ããªã«ãã¯ãããã®ã§åããªã«ãããã
ãé ã飲ãã®ã¯ãããã
ã©ãã®ç¾å®¹å¸«ãããã¨æãã¾ãã
ã©ããã«ã¢ããã¼ã·ã§ã³ã¯è½ã¡ã¦ã¾ããã
å¦çã®é ã¯è«æãèªãã§ããã©ããããªããªã£ãã®ã§ããããªããã§ãã®è±èªãã©ãã¨ãã¨è¨ãã®ã¯å¥³ã®äººã®ãã¤ã¨ããã¿ãããªãã®ã§ã©ãã¨ãããã¨ã§ããªããã ãã©ãã¾ãè±èªãã§ãã¦æªããã¨ããªãã®ã§ããã