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

Arcの中を見る

arc.arcにdefの定義と、=マクロの定義がある。どちらも最終的にはsetを呼んでいる。defはすでにある名前だと警告を表示する(何で出なかったんだろう)。safesetからsetが呼ばれ、=は単にsetになっている。 (set safeset (annotate 'mac (fn (var val) `(do (i…

Arcを使ってみる

ArcのベースではMzScheme(v352)を使ってるようだ。 http://arclanguage.org/install まずはdefと=の関係を試す arc> (def func (a) (+ 1 a)) #<procedure: func> arc> (func 1) 2 arc> (= func '(1 2 3)) (1 2 3) arc> func (1 2 3) arc> (func 1) 2 arc> func (1 2 3) arc> </procedure:>…

CoqIntroを読む

前回のつづき。POPL08チュートリアルのうちの基礎部分CoqIntro.vをやってみる。 http://www.cis.upenn.edu/~plclub/popl08-tutorial/code/coqdoc/CoqIntro.html CoqIntroはboolとnatからなる式言語を定義しているが、それが興味深い表現になっている。 言語…

証明補助coqを使ってみる

練習題材としてSTLC(Simple Typed Lambda Calculus)を使うことにした。 http://www.cs.virginia.edu/~wh5a/coq/SimpTypLCalc/STLC.v :coqコード http://citeseer.ist.psu.edu/742197.html : 上とほぼ同じものについて書いてある論文 以下は、このSTLC.vが読…

生き残ってるプレゼン資料

最近のでOOoで作ったのは、Google Docsに放り込んでおいたので助かってるが、数式エディタでつくった数式とかめちゃくちゃかも。 Google スライド - オンラインでプレゼンテーションを作成/編集できる無料サービスです: What is Behavior Driven Development…

ノートPC死亡

先日、2005年3月ごろ買ったDynabook SS LX190DKが起動しなくなった。今回も3年もたなかったか。三年前同様、今年も花粉症がきついが、それと故障の関係があるのかもしれない。ただ、あの時とは違ってまだ1台残ってるのがましなところ。 http://d2.hatena.ne…

evaluatorの再帰実装→CPS化→Continuationのde-functionalize→ループ化

プログラミング言語のインタプリタを実装するとき、構文木にあわせて再帰で書くほうが基本的に楽だ。しかし、多くの実装で再帰呼び出しは回数に制限があったり処理が遅かったりする。そこで、再帰呼び出し型のevalをループで記述する動機ができる。ただ、い…

Total Function Programmingを読む

http://www.jucs.org/jucs_10_7/total_functional_programming/jucs_10_07_0751_0768_turner.pdf 著者のDave TurnerはHaskellの前身のMirandaを設計した人。ちなみに、 Church's Thesis and Functional Programming http://www.cs.kent.ac.uk/people/staff/d…

MacBook Airのポインタとマルチタッチパッドはどういう関係なんだろうか

ディスプレイの解像度が1280x800ともう一回りくらい高解像度でいけるだろと少し残念ではあるが、なんというか久々に魅力ある製品だなあ http://www.apple.com/jp/macbookair/ 気になるのは、マルチタッチのパッドとMacOS Xに普通に存在するマウスカーソルの…