トップ «前の日記(2008-03-10) 最新 次の日記(2008-03-12)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2008-03-11

_ アイーダ

ゼッフィレッリ版アイーダを観に新国立劇場。

第2幕の大行進。というか、幕があいた瞬間の神像とか柱とかの規模のでかさにどぎもを抜かれる。これはすごい。

音楽はベルディなので、全然期待していなかったのだが(好みではないから)、前奏曲の2つのメロディの重なりとか、おお、と思う。バイオリンの音がきれいで、日本の国力の充実ぶりをこんなところに感じたり。

で、清きアイーダはいい曲だなとか思ったのも束の間アイーダの長い歌にうんざりする。

第2幕はスペクタルがとてつもないから音楽はどうでもよいかも。有名な凱旋マーチがちょっとオーケストラと舞台のラッパで合ってないように感じたけど、そういうものかも。これはいいし、確かに耳に残る。蛮族バレエがよい味。

でも、重要なことは第3幕と第4幕だった。音楽がすばらしい。レシタティーボが見事で、3幕のラダメスとアイーダのかけあいは美しい。そして4幕のファラオの娘の独白。

それにつけてもファラオの娘が不憫で、最後の2重構造はなんのイヤミか、という感じですらある。というか、エチオピアの王様も死刑なんだろうな、とか。一言、捕まったで済ませられてしまうところが哀れを誘うのだが、人の生命が軽いお話であった。

それにしても、1幕と2幕の人数の多さと衣装の絢爛たるさまは確かに見なければ損だ(しかも税金のおかげで相当安価に設定されているし、とか考えているちょうどその時に、小泉純一郎を見かけて少しイヤな気分になったが(追記:しかし、ぱっと見ただけでその人だとわかる強烈なアイデンティティってのはすごいな)、まあ見たかったんだろうなぁ、劇場型とか言われてたわけだし相性は良さそうだ)。

テノールとソプラノはどちらも声はきれいで、しかもとんでもない声量。アルトは途中オーケストラに負けていたが、表情がある良い歌。バスのアルメニア人が演技をふくめてすばらしく良い味だった。さすがに国立だな、というのが素直な感想。

_ Gauche Nightメモ

座談会のメモ。編集してないし、聞き違い(単に僕が知らない言葉も多いし、そういうのは大抵聞き違えているはず)はご容赦。

2005年9月、打ち合わせのまとめ: デヴェロッパー向けムック200ページくらい。それで手軽に読めるような本として、で始まった。

遠藤(karetta.jp)

300ページくらいのコンパクトな入門書。

コンセプト:Scheme、Lispの入門書はいろいろあるが、そこに書かれていないことを書く。

今回は入門書というのとは違う。実用寄りを狙う。Kahuaの本:Schemeを知っている必要がある。

伊藤(オライリーの人)

最初は、Kahua Hack

→Schemeを知っている層を対象:狭すぎる

山下(nobsun)

もともとは入門という感じではない。

知識を限定した感じはやりたくない。リファレンス的なものもつまらない。

遠藤

Gauche Nightの時に2007・8(LL)に売ります→川合による再構成

当初は立ち読み版の構成 → 川合さんが文句をつけて出版を遅らせた

川合(shiro)

作者が口を出すと未実装の機能に対するエクスキューズになるので、手を出さなかった。が、途中からディープに関わり始めた。

伊藤

当初は2部構成: 1部は読み物(コラム)、2部がGaucheの解説

遠藤

昨年のGauche Night:川合さんに本気を出してもらうため

出演者を揃える(黒田、小飼、まつもとなど)

LISP脳(Web版より進化している)

山下

名前が入ったコラムは川合氏は納得していない

遠藤

当初の題:Gaucheプログラミング

分量が増えた結果、プログラミングPerlに対抗できるようになる→プログラミングGaucheに変更

ハックシリーズは物質。動物が良い

遠藤

動物はフムフムアプアプアフア (ハワイ州の州魚)

新聞に載っていたので知った

川合

良く泳いでいる。大体、単独行動。人が寄ってもプワプワプワ。

伊藤

19世紀頃の版画集から動物を拾う。

今回はないので、新たに書いた(そのため、他の本とは精度が異なり、細かい 2ヶ月以上かかった)

遠藤

初稿の入稿が11月

そこから第3稿まで。

3/12の19:00から新宿ジュンク堂で先行発売

今日買った本は見本刷りなので、奥付が間違えている。

----------------------

リリカルLISPを作ったzick

(JavaScriptで作ったSchemeっぽいもの、PostScriptで作ったPS Lispなど)

Gaucheとの関わりは特にない

Gaucheに期待すること:どきどきわくわくできる謎の要素があると楽しい

川合

Shcemeとの関わり:−マイナー言語をやっていても飯は食える

今後: さくさく入れたいものを入れる

ひげぽん

MonaOSを作っている

Schemeとの関わり:OSのシェルをSchemeにする

Gauche上にR6を実装して遊んでいる

Gaucheに期待すること:若手があこがれを持っていることに応えて、突っ走てほしい

Schemeに期待すること:低いレイヤが書けるようになるといい

笹田(ko1)

Schemeとの関わり:RubyでSchemeを書いた

Gaucheとの関わり:Kahuaプロジェクトでバイトしたことがある

川合

YARVとGauche VMはライバル関係にある

Gaucheに期待すること:Gaucheソースコード完全ガイド (GHG)

川合

自分が書いたコードは良いコードのつまみ食いになっているから、良いコードになっているかも知れないから、利用して良いコードを書いてほしい(食物連鎖)

黒田(Alleglo)

2002年ILC (international Lisp Conference?)

今日の議題

・R6RSを斬る

前回から今回の間に制定された

・Arcについて

軽く話してみたい(Common LispでもSchemeでもない、第3の選択肢)

川合

Arcについて何か言うのは早いかな。

いろんなアプリケーションを書くときにコアとなる(7つの言語プリミティブ)では不十分なので、実際のアプリケーションを書くときのコアとなる言語要素を探している(したがって、まだ今後も変わるはず)

Kahuaからの反撃

「Arcからの挑戦」に対して、プログラミングコードが短くなるというのは字面が短くなるのではなく、ノード数が短くなる=Arcからの挑戦。

Kahuaも良い線いっている。

川合:

Lisperの将来の変更を嫌うため、余分なコードが入る。

Arcはそのあたりを割り切っているので短い

ひげぽん

Scheme処理系+コード+ライブラリで言語公開

これで良いのか、という驚き

川合

原点回帰のようだ。昔はLISPで処理系書いて公開するのが普通だった

Scheme界の騒動

R6RSの表紙: サスマンもスティールもいないことに衝撃を受けた(遠藤)

黒田

Algorithmic Language Scheme

 → Programingu以前に論理の言語である

 → Operationalとか言い出している → 数学的な論理を捨てた=ゆゆしき問題(彼らはなにをしているかわかっていないのではないか)

SchemeがSchemeなのは厳密さだ。(ContinuationをLongjumpをいかにきれいに書くか=オペレーショナルかどうかはどうでも良い)

R4からゆがんできているが、とうとうやってしまったな、という感じだ。

川合

R4とR5は別言語

黒田

full continuationがあるからunwind-protectが(理屈の上では)書けない。

これがおかしい。

unwind-protectedがなければ、プラクティカルな言語にはなれない

正常終了:stringが閉じられる。それ以外のときはわからない …… こんな仕様でどうやってアプリケーションを書くのか?

川合

full Continuationは特殊で、それで大域脱出するのはおかしい。Gaucheはその上にExceptionを作っていて、それでunwind-protecteを実装している。

黒田

プラクティカルを目指すのであれば、unwind-protectを残すべき。それでいてAlgorythmic Languageを捨てているので中途半端。

川合

正しい認識で、どっちつかずである。

トップレベルセマンティクスがなかったのが、R4(R5?)で規定された

遠藤

REPLがなくなった

川合

R6RSをSchemeと認識するとわけがわからなくなる。あれは最低限の仕様で、それに合わせていれば互換性が取れる

ひげぽん

マクロを展開するタイミング

川合

効率考えなければ素直に実装すれば良い。

ライブラリ?

ERR5RS ー snowというサイトでライブラリを集積中

黒田

condition Systemがライブラリなのはなぜ? condition systemは型の階層システムがなければ書けない。型のシステムもライブラリ。

なぜ、仕様に入っていない? (ライブラリがライブラリに依存している)

川合

R5RSの問題

R6RSではCondition Systemはstandard libraryに入っている

ひげぽん

(R6)型システムっていろんな仕様があるけど、どういう用途で使うのか?

川合

Condition Systemの型は、Condition Systemのベースに使うために、アドホックに入っているだけ。

Schemeとしては、string?にtrueを返せばstring

笹田

プリミティブを定義するのがSchemeというイメージがあるのだが、ではプリミティブとはなんだろうか?

川合

それが問題となっている。R6RSはそういう方針を選んだ。

最終的にはコミュニティ投票で67%くらいが賛成。ただし、メジャーな実装者は反対。賛成したのはTLTとシェスキーとSchme48の一人。

遠藤

バイナリーが使えるようになった

ポータブルなものが書けるべきという圧力が強いのか?

川合

Yes

黒田

ポータブルは大きい。仕事の規模によって処理系を使い分ける必要がある。

ポータブルは大切である。スクリプト言語に不満なのはポータビリティを考えていないことで、エンジニアリングについて語ってほしくない。

なぜ、そこに気づかないのか。

笹田

そうですよね。

川合黒田

そういう意味ではCommon Lispにもあって、書けない部分がある。困ったことにScheme的な発想をする人がいる。

良い点:たとえ、ANSIになっていなくても、デファクトになっているものがある。マルチ処理(Lisp Machine Lispから引いてきているので大体同じ。国際化文字の扱いもANSI標準にはないが、どこもexternal fromatをサポートしている)。そういう意味では裾野は広い。

rcpとか使ってしまうので、そうされるとアウト。

川合

デファクトがあるというのなら、SchemeにはSRFI(サーフィ)があるから、同じことになってしまう。

R6RSコンパチなソースはUnicodeを読める。Schemeの文字型というのはUnicodeのコードポイント(処理系内部ではなく、仕様)。

仕様ではUTF-8とUTF-16しかないが処理系が複数持っている。

GaucheはPythonからもらって、coding:unicodeのように指定する(R6にあるわけではない)また、この時処理するのはreadではなくport。

遠藤

R6RSでWebフレームワークが書けるのか、というのは?

ひげぽん

ポータブルならそうしたい

川合

R6RSの間違いは、アプリケーションを目指すのであれば、アプリケーションをたくさん書いてみなければ

SRFI(誰でも議論に参加できる。誰でも出せる)

ポピュラーなSRFIはデファクトになる。R6RSのライブラリもそういうので良かったのではないか。

SRFIは緩すぎるからだめだという議論があった。

川合

R5の操作的意味論は実装者にはわかりやすい

えんどう

最初からR6を目指している処理系はどのへんまでできているのか?

今すぐ試したい人は、Ikaruspsyntaxというライブラリで体験できる(ひげぽん)−−マクロで一部を実装している

R6RSで書くには2つの意味がある

・コンプライアント

・ぽいライブラリの宣言など、なんとなくそっていれば良い

Gaucheは後者を取る

Schemeのマントラ

フィーチャを積み上げるのではなく、……

プログラミングGauche(Kahuaプロジェクト/川合 史朗)

本日のツッコミ(全11件) [ツッコミを入れる]
_ soutaro (2008-03-11 17:48)

SafiじゃなくてSRFIっす(たぶん).<br>http://practical-scheme.net/gauche/features-j.html

_ arton (2008-03-11 18:43)

どうもありがとうございます。確かにそれですね。直しました。

_ yuumi3 (2008-03-11 21:27)

SRFIを 「サーフィ」と読むのを控え室で知りました ^^);

_ arton (2008-03-11 22:30)

こういう言葉って、知ってる人に口に出してもらわないとわからないですよね。

_ koguro (2008-03-11 23:10)

SRFIのページにでかでかと読み方のヒントがあるみたいです(http://srfi.schemers.org/)

_ arton (2008-03-11 23:30)

ああ、どうも。http://srfi.schemers.org/srfi-faq.html ですね。ただ、上のは、「こういう言葉」で、たとえばRAAとか、SCSIとか、SaaSとかそういったアクロニム全般を指してるわけで。<br>とか書いてから、ふと思うに、「でかでか」って、あの緑の板のことを教えてくれたのかな? それは気付かなかったです。なるほど。

_ arton (2008-03-11 23:31)

というか、サーファーの複数形なのか。びっくり。さっそくenvironment.rbに登録だ(うそ)。

_ yuumi3 (2008-03-12 00:35)

なるほど、なるほど・・・そういえば shiro さんはサーフィンしたこと無いって言ってた。

_ arton (2008-03-12 20:53)

そうか、koguroさんって、あの時間ぴったりのすごい人か。

_ leque (2008-03-13 11:17)

>T-syntax<br>psyntax のことだと思います( http://www.cs.indiana.edu/chezscheme/syntax-case/ )。 R6RS の一部の syntax-case のポータブルな実装です。

_ arton (2008-03-13 13:23)

どうもありがとうございます。今、出先なので後で直します。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|

ジェズイットを見習え