技術的なやつ

技術的なやつ

Haskell

0.3 Haskellでエラトステネスの篩

職場でエラトステネスの篩の話になって、ふと「関数型言語なら綺麗に書けそう」と思ったので、書いた。一応、エラトステネスの篩とは、指定した範囲に含まれる素数を列挙するための高速アルゴリズムで、以下の様なものである。 1. 探索リストに2からnまでの…

6.4 すごいHaskellたのしく学ぼう! 第4章

再帰について。 再帰 再帰(関数)とは、関数内で自身を参照する関数である。 たとえば、フィボナッチ数列は再帰関数の代表例である。フィボナッチ数列は以下のように定義されている。 2行目の式で、自己参照を行なっているのが分かるだろう? 再帰の利点 再…

6.3 すごいHaskellたのしく学ぼう! 第3章

Haskellの関数構文について。 パターンマッチ lucky :: Int -> String lucky 7 = "You are lucky!" lucky x = "Ku-z." {- *Main> lucky 5 "Ku-z." *Main> lucky 7 "You are lucky!" -} 関数定義の上から順にパターンマッチが行われ、マッチした場合それが実…

6.2 すごいHaskellたのしく学ぼう! 第2章

第2章はHaskellの型システムについて。 明示的な型宣言 GHCiでは、:tを使うことで型を調べることができる。 Prelude> :t 'a' 'a' :: Char Prelude> :t True True :: Bool Prelude> :t "Hello" "Hello" :: [Char] Prelude> :t 4 == 5 4 == 5 :: Bool Prelude>…

6.1 すごいHaskellたのしく学ぼう! 第1章

カラオケ採点機制作の息抜きとして、「すごいH本」ことすごいHaskellたのしく学ぼう!を読み始めた。すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入…