2011-09-01から1ヶ月間の記事一覧

エラトステネスの無限の篩

♯エラトステネスの篩とは 一般にエラトステネスの篩(ふるい)というと求める素数の上限を決めてそれ以下の整数(2以上)から素数の倍数を消すことで素数を篩い出すアルゴリズムです。詳細はwikipediaに分かり易く書かかれていますのでそちらをどうぞ。 こ…

Data.FiniteMap はもう無い

All About Monads (文字化け注意) の example4.hs が実行できない。 使われている Data.FiniteMap と、それ関連の関数が古いらしい。今は、Data.Map を使うらしい。 次のように修正したら動いた。 --- 24行目 - import Data.FiniteMap + import Data.Map ---…

プログラミングHaskellのunfoldを3言語で

プログラミングhaskell 7章の練習問題にある unfold について。 ※Haskell 標準関数 unfoldr の話ではないです。 ●まず haskellで 本で提示されてるコード unfold p h t x | p x = [] | otherwise = h x : unfold p h t (t x) わかりにくいので、パラメータの…

プログラミングHaskellの謎演算子

プログラミングhaskellを読んでいると、時々謎の演算子が現れて戸惑う。 前後の文脈等から察するとこんな感じでしょうか。できればコードそのままの記法をして欲しかった。 ∧ ⇒ && -- 論理積 ∨ ⇒ || -- 論理和 ‐の左端に下向きの鉤がついてる奴 ⇒ not -- 論…

サーバは vi で弄れと、誰が決めたんだ〜♪

GUI版Emacsには「Emacsの中でEmacsが起動できない」という弱点がある。リモートサーバのファイルを編集する場合、tramp を使うという方法もあるが、リモートの root 権限のファイルを弄るとかなると面倒臭い(不可能ではないらしいけど...)。 一番いいのは …