タグ

ブックマーク / tanakh.jp (5)

  • Haskellで円周率1億桁を計算する、あるいは円周率計算にHaskellの多倍長整数の改良を見る - 純粋関数空間

    きっかけ http://d.hatena.ne.jp/itchyny/20120304 この記事を見て、私も昔円周率を計算したことがあるのを思い出しました。 http://d.hatena.ne.jp/tanakh/20070506#p1 公式は同じくチュドノフスキーを使用、GHCのIntegerをそのまま用いて円周率を計算、 当時(5年前)のマシン(おそらくCore2あたり)で1億桁が15分ほどだったようです。 SPOJというサイトのコンテスト向けに、 $\sqrt{2}$ 200万桁計算の高速化 をCで書くとこから始めて、 ナイーブ乗算、カラツバ法、そしてFFT乗算の実装にいたり、円周率へ。 最初AGMを実装し、 古くて新しい方法、Arctan系の公式の実装を経て Binary Splitting Methodを知り、 チュドノフスキーの公式へ至りました。 さらにHaskellでの実装

  • エラー処理を書いてはいけない

    エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな

  • Windowsで最高のターミナルを構築する方法 - 純粋関数空間

    皆さん、Windowsでコマンドライン使ってますか? まともなターミナルエミュレータすらないと思っている方もいらっしゃるかもしれませんが、案外何とかなるものです。 これが完成図です。1週間ほどいろいろ試した結果、動作、見た目、フォントレンダリング、どれもおおむね満足行く結果になりました。 Terminal Emulator選び Windowsをお使いの皆様ならご存じかとは思いますが、デフォルトのTerminal Emulatorである cmd.exe が良くないです。 挙動、フォント云々の話をするまでもなく、横幅が80文字固定なのがどうしようもありません。 プロパティのレイアウトのところから幅の変更ができるようでした。ご指摘ありがとうございます。 この辺を見てWindowsで動作するものを一通り試してみたのですが、動作がおかしいか、フォントが気に入らないか、プロプライエタリかで、どれもよく

  • パラダイムとしてのモナド ~ Monad as a Paradigm ~ - 純粋関数空間

    昨日、日ユニシス様にて技術交流会が開催されまして、 そこで講師として発表させて頂きました。 Haskellの話ということで、どういう話にするか悩みましたが、 プログラミングモデルからHaskellの面白さを語るという いつにもなく(あるいはいつもどおりの)無謀な内容になりました。 ぎりぎりまでどう言うシナリオにするか悩んだ末、これまたいつもどおりの 取り留めのない話になってしまいましたが、 面白かったといってくださる方がいてよかったです。 前半は私が最近面白いと思ったHaskellのライブラリ・アプリケーションの話を織りまぜつつ Haskellの魅力を紹介するパートで、 後半は最近の私のモナドに関する持論を展開するという謎パートです。 モナドというのは何者なのか なぜモナドなのか モナドには何が出来るのか なぜHaskellでモナドを扱うのか IOモナドとは何なのか これらを解き明かしつ

  • HakyllとpandocとMighttpdでサイトを作った話 - 純粋関数空間

    このページについて ページのフッタに書いてあるので、お気付きの方もいらっしゃるかと思いますが、 このページは Hakyllと Pandocと Mighttpdにて運用されています。 完全なソースコードを https://github.com/tanakh/tanakh.jp から参照できます。 HakyllとはHaskellによる静的ページ生成ツールで、 Jekyllにインスパイアされて作られたものだそうです。 JekyllがRubyによって書かれ、Rubyによってページの構造を記述するのに対して、 HakyllはHaskellによって書かれ、Haskellによってページの構造を記述します。 Pandocとはいろいろなドキュメントフォーマットのコンバータです。 Haskellで書かれています。さすがにもうHTMLを手で書きたくはない、 かついろいろなブログの独自のフォーマットなんて覚えてい

  • 1