迂闊すぎるほどに怠惰で、迂闊を生み出す油断もあって
えーと、こちらは直す努力はしなくていいとしてもこれからは arino を名乗ることにするのなら日記のトップページの自分のページへのリンクぐらいは書き換えておいた方がいいのでは?
[topic:Haskell、Clean]
HRay のソースコードが出ました。Gtk2Hs がなくてもコマンドライン版を使うことができます。wxHaskell への移植は多分まあそんなに難しくないと思います。(netpbm を使って ppm を BMP に変換してやるうのが一番手抜きな実装だけど、これは嫌がるだろうなぁ。)これであと1つで Hawiki:H3D に挙げてある Haskell 製の Raytracer が出揃いますね。それにしても見事なまでに POV-Ray Viewer の VOP 以外は OpenGL 使ってない……。
あと、ものすごく久しぶりに Clean が 2.1.1 に更新されました。GAST というテストライブラリや Hilde というシステムコールを扱うライブラリ、Parser ライブラリの投入、C へ関数が渡せるためのインターフェースを導入など Haskell へのライバル意識まんまんのラインナップです。あと GEC という Editor の開発をサポートするライブラリが加えられていて、当然ながら Interactive なシステムのプログラミングをサポートする枠組みも持っているようです……って Arrow か。確かにそれを使えば Composition の塊として書けますからね。
MK2 さんとの遭遇ならず。うにゃー、残念。
[topic:Haskell]
PanTheon が改良されて Template Haskell に依存しなくなり、Pan という名前でライブラリが帰ってました。Fran の同様の環境への移植で悩んでいて、せめて(以前メールで出すと聞いていた) PanTheon の新版が利用できればなと思っていたところに本当に出てきますが。
えーと、GHC 6.4 で動くと書いてありますが実際には GHC 6.4.1 を要求します。よって、これを利用する場合には CVS から GHC 6.4.1 をビルドするかビルド済みのバイナリをどっかから入手してくる必要があります。また、日本語版の Windows で Visual C++ を使って wxHaskell の wxc の部分をビルドした場合 GLCanvas がまともに使えないかもしれません。開発では Visual C++ 6.0 を使われているのにこちらが Visual C++ 7.X を使っているのが悪いのかなと思って調べてみましたが、Visual C++ 6.0 を使ったものでも GLCanvas のエラーで終了してしまったので……原因は探る気力がないのでよくわかりません。とりあえず既存のバイナリの wxc ライブラリ(と DLL) を使うことでうまく動作します。あとは Pan および Client の Panic は MSYS でないとビルドできないのと、逆に Windows 9X 系以外では MSYS で作った hs-plugins はパフォーマンスはこっちの方がいいのにちょっとまともに動かないかもしれない (具体的には PanicConfAPI のソースを探し出してくれないため、PanicConf に内容を移す必要がありました。ただ hs-plugins が Windows 上で一番うまく動くのが9X系なのでそれでないとうまくいかないということもありえますが……)ということに注意してもらいたいと思います。
現在の Pan の実装で気になるのは画像ファイルが読み込めないのと書き出せないという点ですが、実際の利用は OpenGL 上なのでなんとかなるはず。パフォーマンスが Original Pan ほど良くはないらしいというのは結局どうなったのかな? ghc-pluggable (のブランチのもの?)だとなかなか良い具合だけど、GHC 6.4 に対応させるにはいくつか最適化をあきらめなければならないということをこの間言っていたけど。
WxSOEGraphics のコードが4日に送られて来ていたことに気がつく。ちゃんと4日に気づいていれば夜こちらに出てきた早瀬さんと遊ぶために迎えに行く前に試せていただろうから、入ってるのが曲ではなくてドイツ語での朗読であることから発展した外国語での文を読むことについて話していたときにこのメールのことやそこから派生して最近出入りしている海外の IRC チャンネルのことをネタにできただろうに。……あと、無駄にノートを持っていかなかったかもしれない。
で、今日試していて色々と問題がでるのを見て、"うーむ、そういう趣旨の作業だったのか。"と統合作業の意味を知る。手元の環境だとそれぞれ色んな問題がでるわ。wxHaskell (というか Mac で色々と苦戦しているのを含めて wxWidgets 自体?)って時々そういう移植性の問題がでるからねー。
最近起きたディープリンクへの議論に対して内容の改変を引き当たりにしたものをさらに精緻に議論しているのを見て、この議論がまた起きたときから書こうと思っていたことを書いておきます。ええーと、今でこそ Frame 内に他のページを持ってくることが悪いことだとされているけど、もし World Wide Web ではなく Ted Nelson の Xanadu だった場合 iframe というか XLink の埋め込みリンクのようにページ内に他のページが埋め込まれているのは当たり前だけど読む方に向かって課金するシステムだからそのことも咎める理由はなかったかもしれないなとか、もしくは運営組織そのものの課金方法について矛先が向かったかもしれないなとか、では Tim Berners Lee が本来意図していたように優れた HyperText システムを作っている会社にお金を出して作ってもらった上で今のように無料で読めるシステムで埋め込みリンクが当たり前のことだったらどうだったか? とか考えてみるともっと色々と考えて議論できるかもしれない、とまあそれだけなんですが。
Intel 版 Mac は来ないかな来ないかなとどきどきしながら眺めているのが一番良いのであって、実際にマシンが移行する発表されてみると熱は冷める。これには(少なくとも当面は行われない) PC/AT 互換機上でも動くことを切望していた以前とは違って、デュアルブートなんて鬱陶しいしマシンを買えばいいという風に考えが変わってきたせいもありますが。Classic や AltiVec を使っていないから別に PowerPC に未練があるわけでもないけど……やっぱり Dual Core な G5 のマシンが来ることを求めてたんだろうな。それにIntel のって 32bit CPU だけど 64bit 環境はいつごろ使えるのかというのも重要な問題ですし。AMD ならデスクトップに関しては考えなくて良かったんだろうけど……。
[topic:Haskell]
ええーと GHC 6.4.1 が要求されるのは単なる修正し損ないだったようで、6.4 でビルドできるよう修正されました。……でも、6.4.1 に乗り換えたので今更戻すのめんどうだなぁ。6.4 には面倒なバグがところどころあるし。
Windows でそのまま実行できないことについて色々と憶測を書いていましたが、Linux 上でも同様の問題が出ていたらしく修正されました。ただし、Windows 上では今のところ Cabal が exe ファイルをうまく扱えないため、PanicConfAPI のオブジェクトファイル (.o) およびインターフェースファイル (.hi) を PanicConf を読み込むディレクトリと同じディレクトリ(つまり Windows でビルドが止まってしまうために書き換えたであろう Consts.hs の appDir ) に置いてやる必要があります。
今日は圏論勉強会でした。SFC って思ってたよりも会場遠いよ……。うーん。早く進めないといつまでも Haskell 関連の論文にまで届かないという思いがある一方で、あんまり早く進めすぎると欠席者をドロップアウトさせてしまうんじゃないかという心配もあって難しい。
[topic:アニメ、感想]
これまでの伏線を使ってこれだけ一気に話が加速しだすと、ここから一気に最終回にいくためにこれまで抑えていたんだなということで、これまでのふらふらしているように見えてなんとなく不安だった部分を吹き飛ばして落ち着いて見ることができます。せっかくミカヅチが老獪なところを見せてくれたんだからもう少し早く話を動かしておいて、神流対ミカヅチの知略戦をやってくれても良かったんだけどねー。まあ主人公が簡単に載せられすぎる性格なので、この展開でもごくごく自然に思えてしまうところが恐ろしいところですが。そのおかげでついに直面することになった今回の壁を主人公がどう超えていくか楽しみ。
IRC の方で話したけど、ナズナが赤面しているのは純粋についにソーマとくっついちゃうのかという方向で観てたため、どっかの日記とかで表情がエロいと言われるまでそう見えることには気づきませんでした。いや、パソコンで観てて画面が小さいせいもあるんだろうけど。
今日は RHG 読書会の、なでしこと HSP の言語処理系を学ぶ会でした。HSP でグラフィックスが簡単に使えるのがいいよねーという言葉を聞いて、そばにいた MLer に「つまりこういうこと?」と Pan を披露してみたり。……Polygon などの具体的な図形を表現する関数が用意されていないので、今は図形の表現をフルスクラッチで書かなければならないのが玉に瑕ですが。言語とか開発環境の感想を置いておいて今回の感想を言うと、なんとか関数プログラミングができないか(もしくは関数プログラミングで期待したようにはならないだろうからそこにバグがあるだろう)と色々と突っ込みまくってたのが印象に残りました。
実際に説明を受けてみると、なでしこは前にちょっと見ていた印象よりもずっと良さそうな感じでした。あとは Higher-Order ができれば……。Higher-Order はやると日本語らしい文にならないという会話を聞いてから、「仮に何にも定義してない名詞について書いていて、最後にその名詞とは何かという文にすればいいんじゃないかな」というアイデアを元にずっとどうしたら日本語らしい文で書けるかずっと考えていたり。色々とこれなら日本語らしくなるんじゃないかと色々言っていった末に、しまいには論理言語っぽいと言われてしまいましたが。
論理型言語をつい論理言語と書いてしまったのに対して倫理言語というネタを持ち出してきますか……。読書会でもあったように関数言語というと関数型言語を知っている人は真っ先にそっちをイメージしてしまってオブジェクト指向でない手続き型と言おうとした人と食い違うことがあるけど、*理言語と書くとそれはそれで理という字面で終わっているのが災いして(*理型と取るより先に)よからぬイメージを喚起してしまう力があるんでしょうね。
実は日本語らしい文章にしようと試行錯誤している中で、あたかも(少なくともルネッサンス以降の)哲学書がそうであるように意味を付与すれば付与するほど書いてあるものそのものにあるものとは違う真に表現したかったことが現れてくる哲学言語というネタを思いついてはいたのですが、実際にプログラムするさにプログラムありきで辞書とか処理系とかをどんどん書いていくと言う方向でのネタ言語ならともかく、実際に使えるような小さい意味からだんだん書いていくボトムアップのアプローチだと関数型・論理型のような宣言型言語そのものなのであんまり面白くはならないかも。
『関数言語』というのは用語として定着している/存在している呼び方なんでしょうか?
という質問ですが、『論理言語』がそうであるように『関数言語』も関数型言語を指すものとして結構普通に使われている言語ですよ。大学(の講義資料)などで関数言語という用語が使われているのをよく見かけます。他に関数形言語とか論理形言語というのも見かけます。ただ、世間から見ると型のついてない語はあまりメジャーなものと認識されていないため、関数型・論理型言語について説明しているのだと相手に分かる時以外は誤解を避けるために意図的に型をつけて表現していることが多いですけど。
手続き型のことをそういう風に表現しているのは……よく分かりません。(今回なでしこについて説明していたときに使ってつっこまれているのを目撃したように)たまにそういう使い方をしているのを聞くぐらいなので。
あと、関数型と論理型の両者の融合を行っている関数論理型言語ではさすがに他の表現は見かけませんね……そちらの世界には疎いので私が知らないだけかもしれませんが。
色々と天秤にかけて、今回も WOMeeting に参加して終了直後の時間に『計算機プログラムの構造と解釈第二版』を読む会II第二八回に合流。5章に突入したようなので、次回こそは普通に出席したいところですが日にちが……。
DHT オフ会 に参加しました。IKeJI さんには第2回 P2P 勉強会プレ飲み会で会って以来関数型言語の話しかしないと思われていて、その話だけしてるものと認識されているんですが……。こちらについて聞かれたり、話の中でこの言語を使えば簡単にやれるのにと思ってしまったときに言ってしまうぐらいで関数型言語の話だけしているわけじゃありませんってば。今回も関数型に強い人に引き合わせて貰ったときに話したくらいで、それ以降はその話してないし……P2P 界隈の情報が聞ける貴重な機会だと思っているんだけど……。
[topic:アニメ、感想]
このアニメは河森センセだけは大マジだからこそギャグとして成立してる
と言われるように本気で色々と語っているはずの部分でネタアニメとかしている(嫉妬変性劍とか)この作品だけど、今回の話は普通に面白くて、そのことについ感激してしまったり。
色々と手続きをしてきて、それから早売りされていた圏論の基礎 (Amazon) を入手。圏論の話題自体は本当に基礎からやってくれるんだけど、原題が ... for Working Mathematician だっただけあってさらっと書かれている部分でもっときちんと数学の知識を補強しておかないとという気分にさせられる。……今のところメッキですらないし。
Implementing Functional Language: a Tutorial で読書会をやるというのには、17日以降から開始であれば参加したいと思います。