Gauche > Archives > 2010/09/20

2010/09/20 03:18:32 UTCshiro
#
書き出せる処理系もあるよ。SISCとか RT: @cametan_001: 昔、「Schemeのcall/ccはゲームのセーブポイントみたいなモノ」って解説があって「ん?んな事出来るの?」って思って実権してみたバカなワタシ。継続はファイルには書き出せないんだ。故にこの説明は的を外してるんじゃねえの、って思った。
#
@cametan_001 書き出せるようにするかどうか、はトレードオフなので処理系の選択だし、そもそもプロセスとは別個の「ファイル」というものがあるかどうかというのも広い意味では設計上の選択。
2010/09/20 03:23:15 UTCcametan_001@twitter
#
みたいですね。畜生、PLTめ(笑)。 RT : shiro: 書き出せる処理系もあるよ。SISCとか RT: @cametan_001: 昔、「Schemeのcall/ccはゲームのセーブポイントみたい… http://bit.ly/9CzgpF
#
実装依存ですか。 RT : shiro: @cametan_001 書き出せるようにするかどうか、はトレードオフなので処理系の選択だし、そもそもプロセスとは別個の「ファイル」というものがあるかどうか... http://bit.ly/9GA8xk
2010/09/20 03:38:36 UTCとおる。
#
あ、Princess Kaiulani、去年 Hawaii International Film Festival でもやってました。みてないですが。
#
もとは Barbarian Princess というタイトルだったけど、批判が多くて名前を変えたとか。
2010/09/20 03:42:45 UTCshiro
#
そうそう。そのタイトルはあまりに一方的だよなあ >とおる。
#
まあどんな歴史も「一方から見た事実」にしかなり得ない、ってのは仕方ないことだけど。
2010/09/20 03:45:28 UTCとおる。
#
ですねぇ……。
2010/09/20 03:45:52 UTCshiro
#
@cametan_001: 継続を永続化可能にすると性能を上げるのがえらく難しくなるので、言語仕様としてはそこらへんは実装の好みで選べるようにしたほうがいい、って判断でしょうね。継続を使った理論の検証をする場合はファイルに書けるかどうかって関係ないし。ってあたりが「理論寄り」とされる所以でしょうけど。
2010/09/20 03:48:17 UTCcametan_001@twitter
#
なるほど。 RT : shiro: @cametan_001: 継続を永続化可能にすると性能を上げるのがえらく難しくなるので、言語仕様としてはそこらへんは実装の好みで選べるようにしたほうがいい、って判断… http://bit.ly/bPyyyI
2010/09/20 05:41:43 UTC齊藤
#
Gambit も継続のシリアライズの機能があるみたいですね。
2010/09/20 05:48:12 UTC齊藤
#
CPS 変換して変数は全部連想リスト (環境フレーム) で受け渡しすれば write 一発で書出し可能……かな?
2010/09/20 05:54:10 UTCshiro
#
いや、環境の中も全部シリアライズ可能である必要があって、特に手続きが含まれる可能性が高いので、手続きもシリアライズ可能にしておく必要が。となると結局設計段階からそれを念頭においておかないと難しいです.
2010/09/20 06:12:25 UTC齊藤
#
なるほど。 言われてみれば手続きは必要ですね。
2010/09/20 08:07:46 UTCshiro
#
「最初の仕様」はSussman&Steeleの1975年のMIT AI Memoで、"SCHEME: An Interpreter for Extended Calculus"、略称は多分無い RT: @athos0220: Scheme の最初の仕様はどう呼ばれてるんだろう。RS?R0RS?
#
@athos0220: その次の仕様が1978年のSussman&Steele: The Revised Report on SCHEME. これがRRS。以降、R2RS、R3RS ... と続く。
2010/09/20 08:16:53 UTCathos0220@twitter
#
なるほど。そうすると RnRS と言うときは、最初の仕様には言及していないことになるんですかね。
2010/09/20 08:18:33 UTCshiro
#
まあ厳密にはそうなるかもしれませんが、普通は最初の仕様を意識して除外してるわけじゃないと思うので、形式的にR0RS=最初のSCHEME論文、と考えてるかも。
#
もっとも最初の論文は実験的色彩が強くて、標準関数などの普通の「言語仕様」的な意味では現在のSchemeにはつながらないですね。並行プロセス用のプリミティブがあったりする一方、足りない関数は実装言語であるMacLISP(だっけ?)のやつを自由に呼べることになってるので。
2010/09/20 08:23:12 UTCathos0220@twitter
#
ですよね(^^; ありがとうございます。
#
おっと、行き違ってしまいました。
2010/09/20 08:25:18 UTCshiro
#
セマンティクスの面では、レキシカルスコープによる暗黙のクロージャ作成も、継続も入っているので最初の論文がSchemeを規程してると言って良いと思いますが。
2010/09/20 08:29:13 UTCathos0220@twitter
#
ああ、継続って最初から仕様に含まれていたんですね。
#
Scheme の仕様でまともに読んだのって R5RS しかないので、昔の Scheme って全然知らないですねぇ。
2010/09/20 08:50:42 UTCshiro
#
あ、ちょっと訂正。RRSの次はRRRSだ。それからR3RS, R4RS, ...
2010/09/20 20:42:31 UTCとおる。
#
HTTP アクセスの API は、Flash の API が参考になるかも。http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/URLLoader.html#includeExamplesSummary
#
でも、こういうのってバージョンアップするたびにめんどくさくなるんですよねぇ。その分できることは増えるんですけど。
#
あ、 http://blog.practical-scheme.net/gauche/20100919-implementation-and-interface ←これをよんで。
2010/09/20 22:53:08 UTCshiro
#
あーやっぱりイベントハンドラ方式か。これはでもエンジン側にイベントループを持ってないと自然に書きにくいのと、同期呼び出しの方が使い勝手がずっと良くて、非同期にしたいならGaucheならスレッド使えばいい、っていう事情があるんですよね。
2010/09/20 23:03:19 UTCeyasuyuki@twitter
#
ポカホンタスみたいなものか>"単なるエキゾチックなラブストーリー"。なんでも主演の人がポカホンタスと同じだとか>Princess Kaiulani。