LLDN昼 もうちょっとまじめに

さっきのエントリーは移動中だったのでえらい簡素でしたが(^^;)、もうちょっと詳しく。

今でもかなり使っています。つい先日、「evalに当たる関数が見あたらなかった」というとんでもない理由でPerlを使う羽目になりましたが、基本的にはフィルタとしてはawkは結構好き。sed,awkはやっぱりUNIX三種の神器ですね。……あともう一つって何だっけ? sl(^^;)?追記あります
xmlをそのままパージングできるのは、UNIXの哲学が薄れている今日この頃ではちょっとうれしいですね。

今までスペル間違ってたなぁ(^^;)。
こういう言語がすごーく使えるかのような(いや、使い道によっては非常に強いんでしょうけど)ご時世であれば、Prologを近代化した処理系が天下を取っても罰は当たらないような気がするんだけどなぁ。文字列処理に関しては非常に強い筈なんだし>Prolog

S式萌えなのか(^^;)。Smalltalkのブロックですらも耐えられない私には敷居高いなぁ……。
発表は面白かったです。3種目制覇じゃないのが残念。……あ、Squeakも3種目制覇じゃないや。

  • ML

O-Camlと同じ系列の言語だとは知りませんでした。
論理を抽象化して処理順を動的生成する作り(なんだよね、説明からすると)追記あります、組み込みには激しく向かない気はしますが、分散・非対称並列が当たり前の今となっては抽象度高い処理系の方がコンシューマゲーム機では便利だったりしますし、そんな、どう考えても向いてないところで使えちゃったりのかもなぁ。

何かといってはSystemBrowser(統合開発環境)を立ち上げたがるid:propellaさんに会場大受け。果ては3D空間に開いたウィンドウ上で立ち上げる(実用性ゼロ)に至っては、言語のプレゼンという雰囲気ですらありませんでした。当人は何が受けているのか今ひとつ判っていませんでしたが(^^;)。
でも、言語対決の落ち(いや、落ちの前の「日本語文字列を数字と見なして言語仕様に取り込む」も十分インパクトありましたが)の、「とりあえず回しておいたWindowの中で入力して回しながら計算」は、次回はもう使えないなぁ、と思いました。まる。去年も使っちゃったらしいし。

LLDN

お昼を食べに出たら午後の部に間に合わなかった今日この頃。
Kahuaは面白いなぁ。なるほど、「継続」と全部抽象化して、ページ群をクロージャ自体をサーバーがもってるんね。


今回のLLDNではLispが非常に目立ってますね。しかし、Flanzのセミナーを数理システムがやっててびっくり。友人がこの会社にいるんだよね。Lispやってるのかなぁ?

UNIX三種の神器

笑いを取るためのボケでもなくナチュラルに忘れていた Florian ですが(ホントよ)、コメントで弾さんから「grep」との指摘がありました。ありがとうございました。
grepね。egrepとあわせて、使う使う。もう、盛大に。


ちなみに、Google様によると

UNIX 三種の神器

sed awk 三種の神器


と、今ひとつ絞れなかったのでした。
……あれ? 「弾」さんって、まさかあの小飼さん……?

MLについて

MLは「正格」を前提とする言語なので、実行時には処理順が確定しているとのコメントをいただきました。ありがとうございました。
せっかくなのでちょっと調べてみました。

引数が未定義であるときはつねに関数の値も定義されないならば、このような関数を正格である (strict) ということを思い起こそう。
R. Bird, P. Wadler, "関数プログラミング", 竹市正人 訳, 近代科学社, 1991., ISBN4-7649-0181-1, p. 148.

* 正格である (strict) 言語では、関数の引数は、つねに関数が起動する前に評価されます。結果として、 (例えば、それがランタイム・エラーを引き起こしたり無限ループに落ち込んだりすると) exp 式の評価は適切に終了しませんし、フォーム f(exp) 式もまた適切に終了しないでしょう。 ML や Scheme が、正格言語に当たります。
* 非正格である (non-strict) 言語では、関数の引数は、その値が実際に要求されるまで評価されません。例えば、フォーム f(exp) から成る式の評価は、もしパラメータの値が f の本体で用いられないならば、たとえ exp の評価が適切に終了しなくても、適切に終了します。 Miranda や Haskell が、このアプローチを採用しています

なるほど、関数型言語すべてが正格な訳ではなく、Haskellは非正格であると……。
時間を見つけて勉強してみます>正格、非正格な関数型言語