Haskellやる!
Real World Haskell―実戦で学ぶ関数型言語プログラミング が研究室に入ったので、本格的に Haskell やってみようかと。
とりあえず、3章まで読んだ。
目指せリア充!
(注:「Real World Haskell充」の略)
- 小ネタ: 3項演算子
> let (+++) a b c = a + b + c > 2 +++ 4 $ 5 11
(第一項) (演算子) (第二項) $ (第三項) 的な。
myFact n = fact n primes where primes = primes' [2..] primes' (x:xs) = x : (primes' $ filter (\a -> mod a x /= 0) xs) fact n (pn:pns) | n == 1 = [] | (floor $ sqrt $ fromInteger n) < pn = [n] | mod n pn == 0 = pn : (fact (div n pn) (pn:pns)) | otherwise = fact n pns
where かっけぇ!
参考:Haskell vs Ruby: Netsphere Laboratories