[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 02/01 06:02 / Filesize : 245 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part33



1 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 17:58:58.06 ]
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part32
hibari.2ch.net/test/read.cgi/tech/1303299696/

■テンプレ
wiki.fdiary.net/lisp/

■関連スレ
【入門】Common Lisp その8【質問よろず】
hibari.2ch.net/test/read.cgi/tech/1309940115/

110 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/03(木) 01:01:48.77 ]
>>108
継続そのものをシリアライズするのは原則として無理です。
継続には環境フレームやら何やらがぞろぞろとくっついていて処理系の内部構造と不可分なので、
もしやろうとするなら、処理系が最初からシリアライズを強く意識した実装にする必要があります。

Gambit だと出来ますが、実用するなら不要な環境を捕捉してしまわないようにかなり注意が必要で、あまり簡単とは言えないようです。

111 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 02:21:46.20 ]
オブジェクトの印字表現が全て決まってたら簡単だったのにねえ
つまんない制限だよねえ

112 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 03:09:32.82 ]
Schemeオブジェクトが全て印字/読み込み可能だったとしても、環境フレームからは
openしているファイルディスクリプタだの何だのが間接的に参照されてるから
そう簡単にはいかないよ。

113 名前:108 mailto:sage [2011/11/03(木) 18:17:31.61 ]
>>
そうですか…残念です。
とにかくありがとうございます。

114 名前:デフォルトの名無しさん [2011/11/03(木) 20:03:38.36 ]
結局継続がファーストクラスなんて役に立たないってこった

115 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 21:19:02.42 ]
たしかにバカの役には立たない

116 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 22:41:25.16 ]
kahua とかは?

117 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 23:23:33.61 ]
Kahuaとかはアプリケーションサーバとかの層のプロダクトなので、
基本的に起動し続け、継続をシリアライズしたりする必要はないよ。

継続を活用したウェブ開発をする場合、CGIだと厳しいと思う。

118 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/04(金) 00:23:44.47 ]
>>106
意味的な単位と表記上の単位が一致しやすいってことですね。
Lisp だと小さい単位で書きがちということもあって納得です。



119 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 03:42:10.30 ]
継続の道はまだ始まったばかりだぜ
第一級継続先生の次回作にご期待ください

www.google.co.jp/search?hl=ja&q=%22delimited+control%22+scheme+filetype%3Apdf&oq=%22delimited+control%22+scheme+filetype%3Apdf
www.google.co.jp/search?hl=ja&q=%22%E9%99%90%E5%AE%9A%E7%B6%99%E7%B6%9A%22+web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3+filetype%3Apdf
www.google.co.jp/search?hl=ja&q=%22%E9%99%90%E5%AE%9A%E7%B6%99%E7%B6%9A%22+filetype%3Apdf&oq=%22%E9%99%90%E5%AE%9A%E7%B6%99%E7%B6%9A%22+filetype%3Apdf

120 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 03:53:38.35 ]
racketでも検索した方がいい。
www.google.co.jp/search?hl=ja&q=delimited+control+racket
community.schemewiki.org/?composable-continuations-tutorial

121 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 19:37:26.64 ]
宇宙全体をシリアライズできなくても
地球全体をシリアライズすれば十分

122 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 21:10:14.05 ]
ありんことみじんこじゃ全然違うと思いますけどー
永続化する場合こんどはインスタンスの管理の問題があるけど

123 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/04(金) 22:32:53.69 ]
何を言いたいのかわかんねーよ。
比喩を持込むのはなるべく避けろってのは議論の基礎だろ。
もうちょっと具体的に言ってくれんか。

124 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 00:35:36.71 ]
餃子がそれを言うのかw

125 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 00:44:10.21 ]
餃子でもシュウマイでもいいじゃないか。by Lispトムヤンクン

126 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 08:42:02.91 ]
もしかし継続って、外出しできてこそ本領発揮するんじゃないのか?
最初から仕様にもりこんでおけば今頃は超有名になってたよ

127 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/05(土) 12:55:12.57 ]
>>124-125
行者って書こうとして間違えたんじゃないんだからねっ!!

128 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 12:59:27.30 ]
行者だと無条件であぼんされそうだから餃子でよかったと思う



129 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 13:03:13.19 ]
>>123
なんでときどきDQN口調になるんだよw

130 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/05(土) 13:22:34.67 ]
>>129
煽らないとすぐに過疎るからだよ。
極論を書いたりするのも反論してみろっていう煽りだよ。
言わせんな恥ずかしい

131 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 14:40:38.83 ]
餃子のせいで昨日の夜餃子食べたくて大変だった。

部分継続をシリアライズして、HTMLに埋め込むっていう、上で出てた論文は面白かった。
みんな色々考えてんだねー。

132 名前: ◆QZaw55cn4c mailto:sage [2011/11/05(土) 14:47:50.97 ]
>>130
(^^)

133 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 15:36:31.64 ]
>>130
あんたがそこそこ勉強してきた人だってこと多くの人がわかってんだから
煽らんでもいいよ。それより食らいつくネタを考えたり、拾ってきたり
するといいよ。そのほうが健全なスレになる。by Lispトムヤンクン

134 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 15:49:02.65 ]
継続外出しはR7RSで
いつでも再開できるのがSchemeの常識に

135 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/05(土) 16:07:36.48 ]
>>133
俺が勉強してたらどうして煽りが要らないんだ? 意味わかんね。

議論しようぜってのはサイエンス的にもエンジニアリング的にも民主主義的にも美徳だろ。
俺に間違いがあるってのなら、反論しろよ。 意見を出せよ。
議論自体を拒否するのは不誠実だぞ。

136 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 16:16:36.44 ]
>>135
何もわかってない奴が盛り上げよう?あるいはかまってもらおうと
する場合は煽りという選択肢を選びがちという事だよ。あなたの
場合は、その選択肢を選ばなくても他の選択肢で十分盛り上げられ
る技量を持ってるでしょと言ってるだけ。by Lispトムヤンクン

137 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 16:46:04.28 ]
とりあえず行間はうめといたからこれで趣旨はわかるだろう。
最後に、餃子には期待してるよ。

138 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/05(土) 16:53:07.53 ]
継続をシリアライズしたりプロセスをまたいで移送したりできたら夢が広がりんぐ。
>>112 も言うようにポートのような外部とのインターフェイスだとか、
破壊的な処理だとかを考えなければ関連するデータを全部書出せばいいだけなので
いくらかの (かなり大きな「いくらか」だと思うけど) 制限有りでよければ出来そう。
というか、 Gambit 等ではやってるわけですし。

規格にするならあとはその制限をどのレベルにするのが妥当かって話ですよね。



139 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/05(土) 17:00:05.29 ]
例えば (継続に一般化すると説明が面倒なのでクロージャで説明)

(let ((x 1))
(write (lambda()(set! x (+ x 1))))
(write (lambda()(set! x (+ x 2)))))

みたいにふたつのクロージャを書き出したとして、
元々は共有しているはずの x が分断されてしまうのはつまらないので、
set! したら既に書き出したクロージャにも波及したりしたら面白いとか思った。
面白いだけで使いどころがないし非現実的だけど。

無難な落とし所としてはあくまで書き出した時点の環境ってことにするしかないかなー

140 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/05(土) 17:08:41.15 ]
Petite Chez Schme の 8.4 を入れたらイメージをダンプするオプションが無くなってたよ。
かわりに --compile-imported-libraries なるオプションが出来てた。
R6RS の実行モデルに合わせて変えたってことだと思うけど、
--boot オプションはあるんだよな。 暫定的な処置ってこと?
教えてエロいひと

141 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 17:23:26.90 ]
>>139
「書き出す」っていうのは従来のファイルシステムを想定してると思うんだけど、
その想定は妥当なの? OS自体が一つのSchemeの実行イメージに載ってて、
メモリが自然に永続化されるようなモデルならそういうことも可能かもしれない
(効率との折り合いはあるけど)。Smalltalkの環境みたいな。


142 名前:139 mailto:sage [2011/11/05(土) 17:50:35.07 ]
今、サブマシンからの書き込みなのでトリップ無しで御免。

>>141
非現実的ってのはそこんところですね。
出力先を特殊なデータベースとかにするのも、
言語でそこまで踏み込むのは Scheme らしくないし。
さすがにこのへんは余興というか、面白いだろうなーという妄想レベルの話です。

143 名前:139 mailto:sage [2011/11/05(土) 17:57:18.27 ]
>>141
書き出すこと自体については可能だと思います。
Common Lisp なんかでは実行中のイメージをダンプしたりは普通ですし、
それをクロージャに繋がってるところだけに限定するか、
無理なようなら効率を無視してまるっと書き出すとか出来るでしょう。

144 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 18:19:45.22 ]
SchemeでFizzBuzzってどこまで小さくできるの?

145 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 22:01:38.08 ]
>>142
一瞬サブマシンガンに空目した。

146 名前:デフォルトの名無しさん mailto:sage [2011/11/05(土) 23:10:28.83 ]
golf.shinh.org/p.rb?FizzBuzz
ここでは、77バイト

147 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 04:30:49.03 ]
>>145
俺漏れも

148 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/06(日) 08:55:42.40 ]
>>136
知るかボケ
にちゃんねるに何を期待してんだ?

ガキは家へ帰ってパパのチンポでもしゃぶってろ



149 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 10:45:52.49 ]
>>148
ひどいなw
これ言われたら超屈辱的だわwww

150 名前: ◆QZaw55cn4c mailto:sage [2011/11/06(日) 10:54:33.95 ]
ままのおっぱいじゃないんだ‥‥‥。

151 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 11:18:43.42 ]
ナッパさまのクンッ!が必要だな

152 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 14:06:19.58 ]
123 名前:SCHEME餃子 ◆8X2XSCHEME [sage] 投稿日:2011/11/04(金) 22:32:53.69
何を言いたいのかわかんねーよ。
比喩を持込むのはなるべく避けろってのは議論の基礎だろ。
もうちょっと具体的に言ってくれんか。

148 名前:SCHEME餃子 ◆8X2XSCHEME [sage] 投稿日:2011/11/06(日) 08:55:42.40
>>136
知るかボケ
にちゃんねるに何を期待してんだ?

ガキは家へ帰ってパパのチンポでもしゃぶってろ


153 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/06(日) 14:11:56.96 ]
いや…その書込みは別に意味はねえ ただの悪意よ

154 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 14:37:34.53 ]
処理系がシステム巻き込んでクラッシュするようなプログラムを出してこそ、悪意。

155 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 15:54:39.42 ]
>>153
悪意はある反面あなたの精神的な未熟さだけは理解できました。
By Lispトムヤンクン

156 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 16:06:06.82 ]
>>149
当事者としてはすこぶる不愉快だが、2ちゃんだからこの程度のことは書く
人がいてもおかしくはないですからね。トムヤンクン
実際に対面して同じ事を目の前で言えるような人とは思えないし、
そこまで肝がある人じゃないだろう。それができるのが2チャンです。
心理的に不安定な人という印象だけが残ってしまったのも事実なのです。
これ以上は時間を捨てるようなものであり、オフトピでもあるので
これで失礼します。

157 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 17:32:10.79 BE:1820063039-2BP(0)]
>>156
何この粘着君。
空気読まない奴だと思ったらわかった上で乱してんのか。
タチ悪いわー

158 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 20:18:07.26 ]
>>157
自己紹介してんじゃねえよ



159 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 22:01:30.77 ]
30過ぎるとタチ悪くなるよ

160 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 21:59:49.89 ]
数ある(のかどうかわからないけど)関数型言語であえてLISPを選ぶ理由って何?
それと関数型って言うとLISPの他はMLっぽいのが多い気がするけど他の系統ってどんなのがある?

161 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 22:03:20.53 ]
LISPをマルチパラダイムやで?

162 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 22:03:29.71 ]
LISP「は」

163 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/09(水) 00:42:50.37 ]
>>160
どういうものを関数型って呼ぶかは明確な定義があるわけじゃありません。 でも Scheme や CL はマルチパラダイムを標榜してはいますね。 LISP 族の中には純粋関数型のものだってあると思いますが、それは少数派。
関数型的な特徴は「プリミティブ」であって、その上に様々なパラダイムを載せられるのが LISP の強力な点だとされています。
例えば Java だって関数型のアプローチでプログラムすることは出来ます。 C++ を定理証明に使うアイデアもあります。
www.kmonos.net/wlog/102.html#_0103091022
でも、 Java は関数型ではなくて、 C++ は定理証明器ではありません。 何故なら、そういった書き方はプログラマがそういうパターンに沿って書くことが一応可能であるということであって、そのように書くための道具 (語彙) を作ることが難しいからです。
つまり、抽象度の違いです。 Java は手続的なアプローチに抽象化する道具は揃っていますが、そうではないパラダイムを持ち込もうとすると言語のサポートは望めないのです。
一方で、 LISP はどうでしょうか? SICP にあるような Prolog もどきや回路シュミレータを見ればわかるように、一旦ライブラリを構築してしまえば「もはやそういう言語であるかのように記述できる」のです。
これらの差が生じるのは、一般的な言語における抽象はそれぞれの言語ごとでのパラダイム (クラスとかテンプレートとか) が単位であるのに対し、 LISP ではS式という「記法」が単位であるからだと私は考えています。
あらゆるパラダイムをひとつの言語で実現できて、時には混在もできるというのは圧倒的な強みになると思います。 それが、私が LISP (Scheme) を好む理由です。 下手するとカオスになるというデメリットと隣りあわせではありますけどね。

164 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 00:56:34.33 ]
>>163
そのトリップ、SCHEMEはともかく8X2Xって何?

165 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 01:09:43.02 ]
>>163
JavaとかCだと、文と式があって、言語の拡張=文の追加・変更が難しい。
LispはS式で統一されてるので、Lisp自身の拡張が容易、ってのが大きいんじゃないかな?

166 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 01:09:51.42 ]
>>164
あまりだろ。

167 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/09(水) 07:19:31.37 ]
>>164
16倍ってことだよ

168 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 07:42:05.03 ]
16bit



169 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 12:10:28.17 ]
理屈ではそうだけど
現実世界で圧倒的に役に立っているのは
JavaやC++なんだけどな

170 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 12:15:21.47 ]
ずいぶん狭い現実世界だな

171 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 13:20:04.76 ]
餃子の相手をする人の相手をすることはない

172 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 15:31:18.24 ]
やあ、言語の寿命が心配なのか?

LISPの言語拡張は、S式が作り出した知恵の一つ、いや武器か。
普通のやつらは決して辿り着くことができないLISPの英知として、
S式が我々に与えたものだ。昔、規格策定で起きた大きな抗争の時にな。
あの時はホント、まいったよ。
見ての通り、継ぎ目すらない美しいフォルムだろ?
一体どんな仕組みでできてるのか、調べれば判るだろうが、
すまない。私には興味がないんでね。
詳しい事は、まだArc作ってるポールにでも聞いてみるんだな。
何か知っているんじゃないか?

S式。
ろっと、驚かせてしまったようだな。
これは他の言語で言う、演算子でも文でもない。
いわばS式だけが作り出せる構造体だ。
ただ実行するだけでなく、データとして取り出せる。
例えば、この無数の括弧。気を付けろ、数えると一瞬で悟ってしまうぞ。
悟りとは何かだって?
ハハハハ、それは昨日言っただろう?
あ、すまない。君にとっては明日の出来事か。
いや、もっと先だったかもしれないな。
その日が来たら、また説明しよう。

173 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 16:22:15.67 ]
ttp://xyzzy.s53.xrea.com/reference/wiki.cgi?p=interactive
これの
interactive {INTERACTIVE-STRING {PARAMETER}*|LIST}
っていう引数の書き方はなんなんでしょうか?
正規表現的なようでよく分かりません

174 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 18:34:02.30 ]
>>170
どこの現実世界にいるんだよ
おまえは

175 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 18:39:34.59 ]
アシタカ「LISPは死なないよ.構文木そのものだから」

176 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 19:03:51.75 ]
つ AST

177 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 22:39:53.45 ]
なんだかんだ言って、結局はLispだけ残ってきたわけだしね。

178 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 23:21:14.60 ]
>>163
そもそもなんでトリップ付けてんの?
NGワードに設定しやすくていいけど。



179 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 23:47:03.41 ]
>>173
波カッコ{} オプション
スター* 0回以上の繰り返し
縦棒| または
つまり、引数は無くても良い。ある場合は次の2つのうちのいずれか一方。
INTERACTIVE-STRINGの後ろに0個以上の任意個のPARAMETER
LIST

BNFってやつかな。

180 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 00:12:37.84 ]
Lispを使うと普通のやつらの上を行けますか?
また具体的にどのように上を行くのでしょうか?


181 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 00:17:37.91 ]
上をいけたのは他の言語が未成熟だった昔の話
今じゃ下にしがみつくのがやっと

182 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 00:18:01.22 ]
※行けと言うだけであり、行けることを保証するわけではありません
※具体的な方法は確認されておりません

183 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 00:21:30.75 ]
>>177
俺が業界に入って以来VBも残ってるよ
俺が業界から去っても多分残ってると思うよ
そういうスパンで区切ると他の言語でも別に問題ないと思えてくる

184 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 00:32:58.75 ]
普通のやつらの上を行けで思い出したけど
彼の作った言語はどうなったんだ
名前忘れて思い出せないけど

185 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 00:34:29.97 ]
ちょっと前curlって言語があったな

186 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 03:13:45.23 ]
>>184
Arcは普通にバージョンアップとかされながら、
一部の人に使われてるみたいよ。


187 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 00:46:31.15 ]
SBCL始まったな。

random-state.net/log/3529868963.html

188 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 12:40:45.36 ]
gaucheでsxmlをhtmlに書き出したいのですが、分からないことがあります

htmlでいうところのh2とh3の属性値を見て、
id が設定されていなければ連番のidを独自に設定したいです
それ以外の要素は普通にhtmlへと書き出します

Gauche:SXMLとSXPath

practical-scheme.net/wiliki/wiliki.cgi?Gauche%3ASXML%E3%81%A8SXPath

Gauche ユーザリファレンス: 11.36 sxml.tools - SXML構造を操作する

practical-scheme.net/gauche/man/gauche-refj_159.html

このあたりを見てみましたが、どれを使えばよいのかよく分かりません
よろしくお願いします



189 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 13:41:55.63 ]
gaucheのさぽせんに聞け

190 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2011/11/12(土) 17:53:44.33 ]
>>188
読んでわからなかったのなら他の人もわからない可能性が高いので、
WiLiKi の初心者の質問箱に書いたほうが後続の人のためになるかもね?
俺もSXMLのモディファイヤを使うのは始めてなので本当にこれが正しいのかよくわからないけど、
試してみた感じではちゃんと動いた。

;; 必要なライブラリを use する
(use sxml.tools)
(use sxml.sxpath)
(use sxml.ssax)

;; テスト用に元になる sxml を作る
(define sxml
(ssax:xml->sxml
(open-input-string "<xml><h1>2</h1><h1>3</h1></xml>")
'()))

;; id を生成するジェネレータ
(define id-maker (let1 x 0 (^() (inc! x) `(id ,#`"L,(counter)"))))

;; sxpath で対象ノードを抜き出してそこに id を追加
(for-each (cut sxml:set-attr! <> id-maker) ((sxpath "//h1") sxml))

;; これで id がついてるはずなので確認してみよう
(write sxml)

191 名前:デフォルトの名無しさん mailto:sage [2011/11/12(土) 18:43:04.34 ]
>>188
SXMLは基本リストを使った単なるツリーなので、
ツリーを操作するのと同じで問題ないよー。

>>190みたいに副作用で破壊的に変更しても良いし、
map-unionとかで走査して、置き換えても良いし。


192 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 00:14:17.95 ]
JavaScriptでStalinみたいな(JIT含む)コンパイル時型推論の成果が取り込まれてるのかー。
LLVM経由の下流でも使えるなら、成果共有できればいいのにな。

Fast and Precise Hybrid Type Inference for JavaScript
people.mozilla.org/%7Elmesa/ti-draft.pdf
The Impact of Optional Type Information on JIT Compilation of Dynamically Typed Languages
www.masonchang.com/storage/papers/dls05-chang.pdf

193 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 10:01:22.66 ]
取り込まれてるレベルじゃなくて、
この分野はJavascriptがJavaと
一緒に最先端を形成してる。
pluginによる言語機能も
メタサーキュラーJITに組み込まれる
実装が広く出回り始めたり。

194 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 10:58:26.37 ]
Gaucheのtext.html-liteで
特定の条件を満たした時に
複数のHTML:p手続きを実行?するにはどうすればいいのでしょうか
例を出すと
(when test (HTML:p "foo") (HTML:p "bar"))
のように書くと、最後のbarのみが出力されてしまいます
意図しているのはどちらも出力させることです

195 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 11:42:13.97 ]
>>194
どうせ最終的に write-tree するんだろうから、↓でいいんじゃないか?

(if test (list (html:p "foo") (html:p "bar")) '())

196 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 18:31:53.54 ]
>>194
html:pとかは、HTMLを出力するのではなくて、
文字列やシンボルで表現されたHTMLのツリーを返すだけの関数。
だから、whenの仕様通り、最後の式の(html:p "bar")の値が返される。

>>195みたいにリストで括るか、html:divとかで括るかすれば良いよ。

197 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 22:29:00.85 ]
>>190-191
ありがとうございます。
sxpath の使いどころの流れが見えてきました。
いろいろと試してみます。

198 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 22:57:40.66 ]
竹内関数で音楽生成 - aikeの日記
d.hatena.ne.jp/aike/20111112

Fruity Wrapper ってソフトを使っているみたいだけど、
takの再帰処理毎に3和音を生成->アルペッジョを生成てなことをしているのかな
tak関数のこういう使い方は思ってもいなかったので面白い



199 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 23:11:59.47 ]
ほかの使い方は思っているのかよ

200 名前:デフォルトの名無しさん mailto:sage [2011/11/13(日) 23:44:45.49 ]
>>199
普通のプログラマがtak関数の応用について1%考えているとして、
がんばって考えた人が2%だとすると、98%ぐらい考えられていないからなあ。

201 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 00:08:19.53 ]
まあどうでもいい

202 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 03:15:01.10 ]
>>198
メガデモ的でもあるな、なんかちょっと感動した

203 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 06:40:13.56 ]
インタプリタとかで、関数の再帰呼び出しの性能を評価する
マイクロベンチマークとしては割と見かける部類だと思う

204 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 08:42:59.60 ]
ベンチマークとしてならGabrielベンチマークとしてLisp界隈だとド定番だし、
他の言語のベンチマークでも見かけるくらいにはメジャー。

205 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 09:04:53.88 ]
そーなのCAR

206 名前:デフォルトの名無しさん [2011/11/14(月) 11:37:05.16 ]
EclipseのSchemeのプラグインってないのかな。
エンジンはGauheを使えたらさらにうれしいのだけど。

207 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 11:51:54.50 ]
ggrks

sourceforge.net/apps/wordpress/schemeway/

208 名前:デフォルトの名無しさん [2011/11/14(月) 11:53:30.09 ]
やっぱSchemeWayしかないのかな。
ぜんぜん日本語情報がないよね。



209 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 12:02:47.64 ]
ただでさえ人口が少ないSchemeで、さらに人口が少ないEclipseでの開発者で、
さらにさらに人口が少ない日本語話者による日本語の解説を期待しても始まらないよ。
日本語情報が欲しいならEmacs使わないと。マイノリティを貫くならそれなりの覚悟が必要。

そもそも英語の情報だって、最悪辞書見ながら読めば普通に意味が分かる程度には読める。
日本人なら誰でも長年英語勉強してるんだから。

210 名前:デフォルトの名無しさん mailto:sage [2011/11/14(月) 16:48:15.26 ]
>>209
話者・使用人口で語るのは間違いだろうなあ。人口1,200万人ならそう言って問題ないだろうけど。欧
米の言語を無理やり方言とすると、漢字の方言とすると日本と中国は中国のおかげで人口的には勝って
いる。

ttp://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/015/siryo/06032707/005/001.htm

日本語環境が遅れるのはIT政策を3年ぐらいの経済対策として消費してしまったのが一番の原因だと
思うよ。もっと長いスタンスでIT分野を応援していればこうはならなかったんじゃないかな。FreeBSD
とか、2000年あたりはかなり活発だったよね。雑誌もいっぱいあったし、書籍も多かった。Redhat,
TurboLinux, Vine linux等の名前は知っていたけどインストールしていなかったな。Vine以外の日本語
環境はどうだったの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<245KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef