タグ

ブックマーク / alohakun.blog7.fc2.com (4)

  • ホワット・ア・ワンダフル・ワールド アルゴリズミックデバッギング

    研究グループの内輪の研究会がありまして,ET プログラムの自動デバッギングの話が面白かったです. (人間が頭で考えて,直接ルール (プログラム) を手書きした場合用.また,原理的に,形式的仕様記述から自動生成されたプログラムは,仕様に対しては 100 % バグが無いわけですが,それとは別のレイヤーとして,生成されたプログラムが「人間の直感的意図 (ここはインフォーマル)」と異なる挙動を示した時には,仕様のデバッグが必要になってくるので,さらに高度な研究が必要になってくる) その研究自体の詳細は (私の研究ではないので) 書けないのですが.既存研究との比較として挙げられていた,サーベイペーパーが,これまた興味深かったです. Josep Silva, "A Comparative Study of Algorithmic Debugging Strategies", 2007 論理プログラムや

    tkmr2000
    tkmr2000 2008/03/23
  • ホワット・ア・ワンダフル・ワールド 高級言語もまた,ライブラリなのだ

    「良い言語だけど,ライブラリが揃ってないから,まだ使えない」 こういう感想は,新しい言語が出現するたびに,過去に何度も何度もつぶやかれてきた. 高級言語の価値が,プログラムの短さだとしたら,最も良い言語というのは,最もライブラリが揃っている言語,ということになる. Arcからの挑戦 どうしてそうするかって? なぜなら、プログラムを短くするために高級言語はあるからだ。 プログラミング言語のパワーは、それで書かれるプログラムの長さに反比例する。 100%確実にそうだとまでは言わないが、マジでそんな感じだ。 もし誰かがこういったとしよう。馬鹿げたことだと思わないかな。 「そのプログラム、君の言語だとコードは10行で、俺の言語だと50行だけど、俺の言語はパワフルだぜ」 こう思わざるをえない: じゃあ、あんたの言うパワーってなんなのよ? しかし,最初からライブラリが揃っている言語というものは存在しな

    tkmr2000
    tkmr2000 2008/02/26
  • ホワット・ア・ワンダフル・ワールド C でマクロ展開系を実装してみる

    最近 Scheme とかのインタプリタを書くのが流行っているらしいね (という前振りを書くのは何回目だろうか) あのbakaiku でも取り上げられている. というわけで,僕も何か書きたくなった.言語は,たまたま紀伊国屋で見かけて読んでいた計算モデル論入門で,計算可能性の概念を示すために提案された,Scheme のほぼミニマムなサブセットであるプログラミング言語 L が手ごろで良さそうだ.構文的には P ::= C | (begin D1 ... Dm P1 ... Pn) D ::= (def X) | (def (f) P) C ::= (add1 X) | (sub1 X) | (if (nzero? X) P1 P2) | (if (nzero? X) P) | (f) これだけで,データ型は自然数だけだ.これでも現存する全てのチューリング等価なプログラミング言語と,計算能力は

    tkmr2000
    tkmr2000 2008/02/22
    「条件分岐が入ったマクロだけで,計算可能な関数が全て計算できるようになる」
  • ホワット・ア・ワンダフル・ワールド 2 つの原理と文化

    最近のいまさら過ぎる Y コンビネータネタとかが 100 近いブクマを集めている様子とかには,正直辟易していたのですが. (あんたらもしかして,ポール・グレアムの VC (http://ycombinator.com/) の名前の由来とかを,今まで知らなかったの ? とか.Web 2.0 プログラマ (?) 向けの VC のような気がするのに… これで,VC の面接の質問の一番最初が 「我々の名前の意味を知ってますか ?」 とかだったら皮肉過ぎる w まぁ,MIT とかスタンフォードとかの計算機科学部を出てれば 100 % 知ってるだろうし,そういう人たち対象なのでしょうが) 2005 年とかにも話題になって,sumii さんとかが同じようにネタにしてたんですよね.Y コンビネータとか,基礎的な計算機科学の概念を勉強する最大の価値は,何度も定期的に繰り返されるブームに踊らされないで済むとい

  • 1