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

はじめての英会話 with パキスタン人

久しぶりにちょっと長め文章のエントリ。就職活動で東京に日帰りで行ってきました。それでその帰りにあった出来事についてちょっと書いてみました。東京から京都に帰る新幹線で、面白い出来事がありました。東京駅から乗車して最初は隣の席には誰もいなかっ…

TAPL: 純粋なλ計算では関数がすべて

TAPLでλ計算を勉強していて、チャーチ数という面白い数(関数)を知りました。今まで「数字」というのは、数字でしか表現できないと思っていましたが、実はそうではなくて、λ計算の世界においては関数で数字が表現できてしまうのです。不思議ですね。興味を持…

Types and Programming Languages

Audrey Tangさんに刺激されてAmazonで買ってしまいました。 Types and Programming Languagesを勉強することで、これまでとは違った物の考え方ができるようになればなぁと思っています。実際に読み始めると、自分の数学の理解力が壁になりそうな感じがしまし…

Haskell: QuickCheckの意外な使い方

QuickCheckは想像以上にパワフルなツールだ。単にテストをしてくれるだけのツールじゃない。以下の文書を読むと、QuickCheckの意外な使い方が書いてあった。Haskell以外のプログラマーも目を通すことをおすすめする。 QuickCheck as a test set generator こ…

WEB+DB PRESSでSix Apartの宮川さんの連載が

始まるようです。 楽しみです。 WEB+DB PRESS で連載を開始

Haskell: ハイレベルになる勉強方法

Haskellの勉強をしている方へ。Haskellの基本文法をマスターしてから、Pugsのような難しいコードを読めば良いということはないと思う。何となくHaskellの雰囲気がわかった時点で、難しいコードを読み始めるのをお勧めする。その方が絶対勉強になるし、上達の…

Haskell: Readerモナドの実験

Readerモナドで定義されているlocal関数とasks関数の実験をしてみた。 local関数とasks関数を使うと、環境(データを記憶する領域のようなもの)を局所的に操作できることがわかった。 これらの関数をうまく利用すれば、プログラミング言語でおなじみの「スコ…

Haskell: Pugs 6.0.5をビルドするためのパッチ

Pugs 6.0.5(リビジョン29)をビルドするためのパッチを作ってみた。 http://vaio.redirectme.net/pugs/patch/build_pugs6.0.5_r29.patch ただし、このパッチは完全じゃない。makeはできるけれども、make testが通らない。本当に単純なexpression、例えば「1+2…

Subversion: svn diffした時にコミットのログも一緒に表示するスクリプト

最近、Pugsの初期のコードをよく読んでいる。コードを読んでいると、現在読んでいるコードとそれ以前のコードを比較したくなる時がある。そんな時は、Subversionのリポジトリからチェックアウトしてできたワーキングディレクトリで以下のようなコマンドを実…

Haskell: Pugs 6.0.2の評価関数に関するメモ

自分用のメモなので、何をやっているのか気にしないで下さいw。Pugs 6.0.0におけるレクサとパーサの動作は、大よそわかった。 問題はパーサが出力したASTをevalするやり方。Pugs 6.0.2から変数とサブルーチンがサポートされた。それによってsrc/Eval.hsに新…

Google Maps APIがVersion 2に

Google Maps APIのバージョンが2006年4月3日(昨日)にVersion 2になったようです。 Google Maps API Version 2 Documentation Google Maps API Version 2 Upgrade Guide Version 2の新しいfeatureは以下の通り。 Much smaller JavaScript download Two additi…

Haskell: RubyインタプリタをHaskellで実装したRType

RType。 オープンソースマガジン2006年04月号の「ハッカー養成塾」で知りました。 RubyインタプリタをHaskellで実装されている方がおられるようです。 凄いです。 パーサにはPugsで使われているParsecではなく、Happyと呼ばれるまた違ったものを利用されてい…

YAPC::Asia 2006 Tokyo: Learning Haskell by Audrey Tang

YAPC::Asia 2006 Tokyoの2日目の午後からAudrey Tangさんの「Learning Haskell」のプレゼンテーションがありました。はてなから音声ファイルが公開されています。スライドも見られるようになりました。ありがとうございます。 Learning Haskell by Audrey Ta…

Haskell: 初期リリースのPugs 6.0.0をビルドしてみよう

「Pugsが今熱い。」そう思ってPugsの最新版であるバージョン6.2.11のソースコードを読んでみると、そのソースコードの量に圧倒されます。とてもじゃないけど、ソースコードを理解するのは難しそうです。開発が進めばもっとPugsの規模が大きくなって、もう追…