Haskell
以下を読んでメモ。 Haskell チュートリアル (Haskell Day 2016) から学んだこと http://qiita.com/hiratara/items/169b5cb83b0adbfda764 Shell以降は新しいことばっかりだったのと、元記事の完成度が高すぎて途中からは殆ど写経みたいになってしまった。 基…
勉強がてら試しに書いてみた。 なんというか・・・以外と難しいね!! ちなみに全角文字に非対応なのでそのうち。
関数プログラミング実践入門の巻末に載っていたAtCoderにHaskellで挑戦してみた。 001は、sortとgroupを活用すればすぐ出来ることが分かった。002は、すごいH本に載っていたチェス盤のナイトのコードを参考にして、リストモナドを使って解いてみた。実際にコ…
関数プログラミング実践入門の4章「評価戦略」を読んだので簡単にメモ。 遅延評価(lazy evaluation) 実際に使うまで計算しないという計算順序の規則 たらい回し関数(竹内関数)は、積極評価だと実行に時間がかかり、遅延評価だとすぐ完了する関数(の例)…
Functional Programming in Swift で 同様のコード例があったのでHaskellでも書いてみた。 関数プログラミング実践入門で、「筆者がfoldrの方が好きなので」的な記述があったけれど、consリストで畳み込むコードを考えると、確かにfoldrの方が自然に感じる気…
ランレングス圧縮が例題として載っていたので、練習がてら復号化を書いてみることに。とりあえず書けたのだが。 安全でないreadを使っているのはさておき、なんだろうこの微妙感は。追記(2016/05/05): `let`を活用することで少し読みやすくなった。冗長だ…