2013-04-01から1ヶ月間の記事一覧

『入門 自然言語処理』

オライリー・ジャパンのeStoreで『入門 自然言語処理』を購入。Haskellの勉強もまだまだ途中だというのに、大丈夫なんですかね。多分大丈夫じゃないです。 とりあえず「はじめに」は読み終わりました。pythonはすでにインストールしてありましたので、とりあ…

すごいHaskell本

5章の続き、p70より。下は、p72,chain関数の定義です。 chain :: Int -> [Int] chain 1 = [1] chain n | even n = n : chain (n `div` 2) | odd n = n : chain (n * 3 + 1) 上のコードをghciに読ませると、non-exhaustiveと言われます。even n と odd n で全…

すごいHaskell本

今日も5章の続き。「5.2 高階実演」より。 5.2 高階実演 うーん? 部分適用は、すごいようなそうでないような。もうちょっと実践的な例がないとよくわからないです。 書いてあることはわかるのだけれど、でも「わかっていない感じ」がする。テトラちゃん。p…

すごいHaskell本

今日も4章の続きです。「4.3 クイック、ソート!」から。 基底部と部分問題さえ正しく選んだなら、全体として何が起こるかの詳細を考える必要はありません。部分問題の解が正しいという保証を元に、より大きな最終問題の解を構築すれば良いだけです。 59ペー…

すごいHaskell本

今日から4章に入ります。4章は再帰。 再帰については『Scheme手習い』を読んでたときに散々やったので、今のところは何も引っかかるところなくサクサク進みます。1つだけ疑問点。引数の値を利用していないパターンで、アンダースコアではなく a などの変…

すごいHaskell本

今日は45ページから。「パターンマッチとwhere」 p45 initials :: String -> String -> String initials firstname lastname = [f] ++ ". " ++ [l] ++ "." where (f:_) = firstname (l:_) = lastname 関数のパターンは網羅的なんだけど、whereでのパターン…

すごいHaskell本

第3章を進めております。 関数を定義する際、引数の構造で場合分けするときにはパターンを使います。 引数の値が満たす性質で場合分けするときには、ガードを使います。 ふつうのHaskell本を読んでたときは、パターンマッチとガードの違いがよく分からな か…