レガシーコード生産ガイド

私に教えられることなら

Haskell

Linux Mintでcabal sandboxを使うまで

未来の自分の為にメモ。この通りにやったわけではないので上手くいかないところもありそう。 sudo apt-get update sudo apt-get install zlib1g-dev sudo apt-get install ghc cabal-install # 以前に使ってた場合はまっさらにする # sudo rm -rf ~/.ghc ~/.…

Real World Haskell、スキップ

5章、JSONのプリティプリントのところを読んでたけど、あまりにも説明の順番が自分には理解しづらい。その場で実装できないものはundefinedにしといて後回しにするんだけど、トップダウン方式なのにトップが明示されていないので、なぜ後回しにするのか、ど…

cabal buildとDevelopment.Placeholdersを使うまで

ある程度すごいHaskell本で学んだので、Real World Haskellは最初からと第5章のJSONの操作からを並行して進めて行っている。 毎回ソース編集して:r連打したり、ghc --makeを実行するのも面倒なので、ソースを編集して保存したら自動実行でビルド&テストした…

HaskellとJavaScript(Node.js)でテストデータ出力スクリプトを書き捨て #_poh

paizaってとこのオンラインハッカソン(結婚がどうのこうのというやつ)、JavaScriptで3問目が100%とれない。 どんなテストケースでどういう風にエラーが起きているのかわからないので、とりあえず標準入力がチャンクで区切られた時にちゃんと処理できるか確…

浮動小数点の列挙

Read World Haskell読み始めた。 浮動小数点の列挙は挙動が不思議という話。 Prelude> [1.0 .. 2.01] [1.0,2.0] Prelude> [1.0 .. 2.49] [1.0,2.0] Prelude> [1.0 .. 2.5] [1.0,2.0,3.0] なるほどな。 1.5刻みはどうなるんだろう? Prelude> [1.0, 1.5 .. 2.…

WriterでFizzBuzz

何か腕試しをやろう、ということでHaskellでFizzBuzz書いてみた ただFizzBuzz表示するだけじゃ楽しくないので、Writerモナドのとこ思い出してFizzBuzzを作れるようにしてみた import Control.Monad import Data.Monoid newtype FizzBuzzer log target = Fizz…

「すごいHaskellたのしく学ぼう」読み終わった

なんとなくHaskellの楽しさわかった気がする。 次は、モナドや型で、どういう設計をすると楽しいのか調べてみたい。 以下は最後のファイルシステムのコードにMaybeを足したもの。 Maybeを足すときに、Justで包んでいくのが果てしなくめんどうだった。 type F…