young disciples
性に合わないことを書いてみる。自分には謙虚さが足りないのではないか?ということについて。
もともとは取り柄がないことを気にしていたので、計算科学やプログラミングを勉強している今では、知っていること、できることを(時に知らないこと、できないことまでw)アピールしすぎるきらいがある。とても子供っぽい。
そのため、学校や仲間内ではできるヤツというイメージ付けに成功(失敗か?)したので、特権的にふるまえたが……。
「社会はそんなに甘くない」のである。先輩が「そんなの3時間で終わるじゃん」と言う仕事にほぼ一週間をかてしまった。社会は全然甘くないらしい。発見!俺、できない!
今後は喋る前によく吟味する。メモを取る。先輩の技術を盗む。職人に弟子入りしたんだ。と考える。弟子(disciple)。
引っ越しでお気に入りのCD、Young Disciplesの"Young Idea"が所在不明になったのはシュルレアリスムですか?そうですか。
よく眠るために
とりあえずリンクしておく。よく眠るために覚えておきたい17のTips | POP*POP
こういうのが必要な人がいるから。僕とかtetzとか……。
型推論に関するメモ
Type inference - Wikipediaに型推論に関する記述がある。現時点では日本語の項目*1で言及されていないアルゴリズムに関する項目もある。
ざっと斜め読みした感じだと:
- 各部分項について型を判定し、述語論理式の集合を構成する
- 述語論理式の集合の全ての要素を単一化(Prologみたいに)
といった感じ。
ここで興味深いのが型の判定をする関数が「型の環境」と項を引数として取ること。評価器evalが環境と項を引数として取るのに似ている。また、その後の処理はPrologプログラムの動作と同じ。これは1つのソースから2つのプログラムを構成していると見なせる。一方は普通のプログラムで、他方は普通のプログラムの型の整合性を証明するプログラム。型推論を持つMLがMeta Languageな所以はここか。
アルゴリズム1/2実装完了
- standard matching algorithm
- PPI algorithm
の内、前者の実装完了
ベース界のマイケル・ジョーダン ベースは地味か?
YouTubeやGoogle Videoで何を見ているだろうか?
サッカーの試合、アニメ、それとも新発売のTVゲームだろうか?
そんなものよりも観るべきものがある。それは「ベース」だ。
卒研アルゴリズムの実装
とりあえずアルゴリズムの基礎になる書き換え規則の実装が済んだ。
項書き換えモデルだから代入の実装がひどい。例えばt[v:=λxyz.f(x, y, z)]について、
- 項t中のすべての変数vの出現をλxyz.f(x, y, z)で置き換える
- 項t中のすべての部分項(λxyz.f(x, y, z))(t1, t2, ..., tn)をβ変換
の2ステップかかる。
動けばいいんだけどね。明日はここのテスト。