Lisp Scheme Part17 ..
[2ch|▼Menu]
200:デフォルトの名無しさん
07/05/13 15:00:40
>>198 などと、定義されたプログラムが有った場合に、
以下の出力を得るのが目的です。

> (parse f0)
iport: (i0 i1)
oport: (o0)
node:(m0 m1 m2 m3 m4)
graph:
(m0 (* i0 i1))
(m1 (- i0 i1))
(m2 (/ i0 i1))
(m3 (* m0 m1))
(m4 (/ m1 m2))
(o0 (* m3 m4))

ここで、
i0〜 :一番最初の入力データ並びを置き換えたもの。
m0〜 :計算に出現する中間データを番号付けしたもの。
o0〜 :最終の計算結果を番号付けしたもの。

既にマクロで隠蔽すればいいとのアドバイスを得ておりますが、
他には何か良く使われるアイデア等はありますか?
let については lambda に置き換えるとか??

201:デフォルトの名無しさん
07/05/13 15:04:07
>>193
学生時代は Ocaml や Haskell とかの強い型付けの信奉者だたよ。
まだ Ocaml はたまに使ってるなー。Haskell は頭悪い俺には計算機の実行動作と
コードとの対応がすっきりしないから疎遠になった。CL はアセンブラあがりの
俺には丁度いい抽象具合ってところかな。


202:デフォルトの名無しさん
07/05/13 15:09:25
>>200 つづき。。分かりづらいですね。

scheme のプログラムについて、
それを Data Flow Graph (DFG)だと見なして、
直接にデータの流れを有効グラフにて表すことが目的です。
最初のプログラム定義は、"define" の文字列にこだわっていません。。

203:デフォルトの名無しさん
07/05/13 15:09:46
>>193
そもそも Scheme も CommonLisp も関数型言語じゃないでしょ
だからなんでって言われても見当外れも甚だしいと思うんだけど

204:デフォルトの名無しさん
07/05/13 15:11:13
>>201 さん、すみませんでした。。

205:デフォルトの名無しさん
07/05/13 15:48:23
>>203
関数型言語の本家なんだが。マルチパラダイムの方向に進化しけど。

206:デフォルトの名無しさん
07/05/13 16:05:55
srfi-1 にある iota の名前ってなにからきているんでしょうか?

他の srfi の関数だと説明的で長い名前が多いんですけど iota
だけ妙に短くて気になります。ギリシャ文字のイオタ?

207:デフォルトの名無しさん
07/05/13 16:21:27
破壊的な代入が出来るってことで、純粋な関数型言語ではないということになっていますね。

208:デフォルトの名無しさん
07/05/13 17:16:42
>>205
本家?
そんな話あったか?

209:デフォルトの名無しさん
07/05/13 17:48:53
>>193
一言でいえば別に関数型言語を使いたいわけじゃないから

210:デフォルトの名無しさん
07/05/13 18:10:56
Common Lispで大規模プログラムを組んだ場合、C++のときのような、
保守性が甚だしく損なわれるといった問題は起こらないのでしょうか?
どうもCLOSの多重継承が臭いのですよね。
やっぱりあれを使うのはC++と同様に使用を控えたほうがいいような気がするのです。
個人的にはComomon Lispは多機能すぎると感じています。
だったらSchemeを使えとなるわけで、まぁ、実際使っているのですが…。
言語使用にオブジェクト指向を組み込むのではなく、Objective-Cみたいに、
Scheme + オブジェクトシステム が理想ですね。

211:デフォルトの名無しさん
07/05/13 18:20:11
C++だから保守性が損なわれるのではないと思うけどね。

212:デフォルトの名無しさん
07/05/13 18:23:13
>>210
C++の多重継承だって別に保守性が甚だしく損なわれるとは思わないけどな。
おまえさん変な本で妙な偏見を吹き込まれてないか?

213:デフォルトの名無しさん
07/05/13 18:50:46
>>210
多重継承を使って意味不明なデザインをしてしまうような奴は、
おそらくどんなに制限された言語を使わせても保守性再利用性ゼロの馬鹿なコードを書くだろうよ。

214:デフォルトの名無しさん
07/05/13 19:13:07
それではC++ではなくCommon Lispでプログラムを書く理由は何ですか?

215:デフォルトの名無しさん
07/05/13 19:15:39
楽だから

216:デフォルトの名無しさん
07/05/13 19:58:35
>>215
まさにそれだな

217:デフォルトの名無しさん
07/05/13 20:09:47
ではOCamlではなくCommon Lispで書く理由は何ですか?

218:デフォルトの名無しさん
07/05/13 20:12:00
超うぜぇwwww

219:デフォルトの名無しさん
07/05/13 20:14:39
ただたんに関数型言語厨なんだろ
状態を表現できない、もしくは表現するのに苦労する言語は使いたくないね

220:デフォルトの名無しさん
07/05/13 20:43:16
このガキ、MLスレでも同じことやってやがるw

827 名前:デフォルトの名無しさん[] 投稿日:2007/05/13(日) 19:11:48
OCamlがCommon Lispよりも優れている所って何だろう?


221:デフォルトの名無しさん
07/05/13 20:49:14
どんな言語をやるのか迷っているのだろう
そんなやつには俺は素直にeclipseを薦めよう

222:デフォルトの名無しさん
07/05/13 20:56:21
どう考えても迷っているんじゃないだろwww

223:デフォルトの名無しさん
07/05/13 21:02:08
Rubyを使わないのはなぜですか?バカだからですか?

224:デフォルトの名無しさん
07/05/13 21:05:41
信者がうざいからです>>223

っていうかマジでそういう風に思わせたいだけだろ?


225:デフォルトの名無しさん
07/05/13 21:13:49
ruby やっている人は lisp 知らない人がほとんどだと思うけど
lisp やっている人は ruby 知らない人なんてほとんどいないんだよな
この時点でもう土俵が違う感じ

226:デフォルトの名無しさん
07/05/13 21:15:33
知っているのに、Rubyを使わずLispを使う理由はなんでしょうか?
必然性を論理的に導けるのでしょうか?
思い込みにすぎない、些細な理由はお断りします。

227:デフォルトの名無しさん
07/05/13 21:17:57
マクロがないから

228:デフォルトの名無しさん
07/05/13 21:20:12
仮定:「俺様はrubyを使わない」

ここから容易な推論により、
結論「俺様はrubyを使わない」
が導かれる。

この仮定は俺様の性質からして正しい。

229:デフォルトの名無しさん
07/05/13 21:21:40
>>226
Rubyも使うよ
なんでも使う

230:デフォルトの名無しさん
07/05/13 21:23:02
どうしてSchemeでは不満なのですか?
私はSchemeでおなかいっぱいですが…。

231:デフォルトの名無しさん
07/05/13 21:27:50
どうしてCommonLispでは不満なのですか?
私はCommonLispでおなかいっぱいですが…。

232:デフォルトの名無しさん
07/05/13 21:36:21
>>226
おまえの態度が気に入らないから使わない。


233:デフォルトの名無しさん
07/05/13 21:40:37
知っているのに、CommonLispを使わずSchemeを使う理由はなんでしょうか?
必然性を論理的に導けるのでしょうか?
思い込みにすぎない、些細な理由はお断りします。

234:デフォルトの名無しさん
07/05/13 21:41:35
典型的な釣りだろ。

235:デフォルトの名無しさん
07/05/13 21:45:55
>>193

  808 名前:デフォルトの名無しさん[] 投稿日:2007/05/12(土) 20:30:53
   Scheme/Common Lispではなく、SML/OCamlを選んだ理由を教えてください。

  関数型言語ML(SML, OCaml, etc.), Part 4
  ( スレリンク(tech板:808番) )


236:デフォルトの名無しさん
07/05/13 21:52:22
言語なんてもんは、その都度、場合によっては処理単位毎にでも、
必要に応じて問題に適したものを選べばいいんだ馬鹿者。

237:デフォルトの名無しさん
07/05/13 22:47:28
そうだよね。何故かLispをやってる人はRubyとかOCamlとか別の言語を使わないと思ってるらしい。
というかそれぞれの人がひとつの言語しか使わないと思ってるらしい。
それは典型的な素人の思いこみで、普通のプログラマは状況に応じてマッチした言語を選択するんだよね。
いくつもの言語をマスターしている。

たしかにLisp系は柔軟性が高くていろんな事が楽にできちゃうからこればっかり使っちゃうってのもあるけど、
それにしたってたとえばRubyの方が楽にできると思えばそっちを使うし。

238:デフォルトの名無しさん
07/05/13 22:50:01
黒板に書くならScheme、そうでないならCommon Lispだな。

239:デフォルトの名無しさん
07/05/13 22:50:04
>>206
> ギリシャ文字のイオタ?

元ネタは APL の原始関数イオタだと思う.


240:デフォルトの名無しさん
07/05/13 23:44:43
atoi を逆にしたと思ってた

241:デフォルトの名無しさん
07/05/13 23:48:00
>>217
Common Lispのほうが楽だから
>>223
Common Lispのほうが楽だから
>>230
Common Lispのほうが楽だから

242:デフォルトの名無しさん
07/05/14 00:15:22
>>239
ありがとうございます。すっきりしました。

ι6 で 1 2 3 4 5 6 になるんすね。へぇ〜。
URLリンク(homepage3.nifty.com)

243:デフォルトの名無しさん
07/05/14 02:30:42
>>210
CLOSハC++ナドトクラベテ ユルヤカナ オブジェクトシコウ+アルファ
ダヨ。ユルヤカナオカゲデ、C++ナドトクラベテ スバゲティニナリニク
イカモ。ナゼナラ ソウショウカンスウト メンバカンスウノ チガイガ
オオキイナリ。
コモンリスプハ オモメノケイサントダイキボニナルモノ デユウリニナ
ル。ソレイガイノトコロデハ ユウイセイガ ムカシニクラベ テスクナ
ク ナッタトオモウ。
ソケットヤ スレッドカンレンノ カンスウノ ANSIカヲハヤクススメ
テホシイ。10ネンノアイダニヒツジュヒンガフエタ。

244:デフォルトの名無しさん
07/05/14 03:29:34
昔の電報キター!

245:デフォルトの名無しさん
07/05/14 03:37:47
イオタって聞くと、『ランボルギーニ・イオタ(レプリカ)』ってキャプションのついた写真を思い出してしまうのは秘密。

246:デフォルトの名無しさん
07/05/14 03:49:01
>>243
10年どころか、Common Lispが生まれて20年以上だもんな。
そろそろソケット、XML、Unicodeあたりを標準に取り込んでもらいたいものだ。

247:デフォルトの名無しさん
07/05/14 04:13:44
スレッドもね >> 標準

248:デフォルトの名無しさん
07/05/14 21:43:53
とりあえずScheme極めてみるわ
それからOCamlやろうと思うんだ
な〜にがCommon Lispだよ

249:デフォルトの名無しさん
07/05/14 21:46:36
MLやるなら最初からMLでいいと思うんだ

250:デフォルトの名無しさん
07/05/14 21:47:56
勝手に極めてろw

251:デフォルトの名無しさん
07/05/14 23:34:33
249 :デフォルトの名無しさん :2007/05/14(月) 21:46:36
MLやるなら最初からMLでいいと思うんだ


だってSchemeのほうがかわいいじゃんw

252:デフォルトの名無しさん
07/05/14 23:37:58
かわいいのか?

253:デフォルトの名無しさん
07/05/15 00:06:21
まるっこくてぽにぽにしてるカンジ

254:デフォルトの名無しさん
07/05/15 03:43:59
えー?
ちんまりしてきゅっとしてる感じだなぁ

255:デフォルトの名無しさん
07/05/15 03:54:19
schemeハハヤクテケイリョウナノデ '86レビン トイウインショウデス。


256:デフォルトの名無しさん
07/05/15 11:04:28
かわい・い 《形》 (カワユイの転。「可愛い」は当て字)
(1)いたわしい。ふびんだ。かわいそうだ。三体詩抄「万民の枯骨となりたるは―・い事ではをりないか」
(2)愛すべきである。深い愛情を感じる。「―・い我が子」「―・い声で歌う」
(3)小さくて美しい。「―・いスズランの花」
(岩波書店「広辞苑 第五版」より引用)

(1)の意味だったら厭だな

257:デフォルトの名無しさん
07/05/15 12:35:07
チョークでものを書くあの感触が好きなら
Schemeをやらない手は無いよな。

258:デフォルトの名無しさん
07/05/15 19:28:06
爪で黒板を引っ掻く「キキィィィー」って音が好きなら
Schemeをやらない手は無いよな。

259:デフォルトの名無しさん
07/05/15 21:51:34
黒田ちゃんの攻撃来ました

GaucheNight (About Scheme cont.)
URLリンク(cl-www.msi.co.jp)

仕様があいまいだから許さんって事?

260:デフォルトの名無しさん
07/05/15 22:09:44
>>246
正規表現とFFIも☆逸す

261:デフォルトの名無しさん
07/05/15 22:32:02
R*RSの曖昧さは、Schemeに与えられた唯一にして最大の自由かもしれん。
良いか悪いかはわからん。

262:デフォルトの名無しさん
07/05/15 22:39:35
通読した事も無いくせに

263:デフォルトの名無しさん
07/05/15 22:43:49
>>260
普通の正規表現も入ってもいいけど、パターンをS式で書けたりするとさらに萌えるな

264:デフォルトの名無しさん
07/05/15 22:51:48
Schemeにマクロはないっていうがsytax-rurlesとかは何でマクロじゃないんだ?
あと、sytax-caseは非標準だけど、これはマクロなのか?
まあ、これがマクロなら、ほとんどの処理系syntax-case備えてることから、
Schemeには実質マクロがあるようなもんだといっていいと思うのだが。

265:デフォルトの名無しさん
07/05/15 22:51:52
>>259
さっそくshiroたんが反論してるね。
残念ながらレベル高すぎてついていけないorz

266:デフォルトの名無しさん
07/05/15 22:56:02
あの文字列の形が正規表現の正規表現たる所以であって、S式にしたらぶちこわしだ。
マクロでもってオートマトンコードに変えるんなら意味なくもないが。

267:デフォルトの名無しさん
07/05/15 23:15:31
>>262
焼酎飲みながらのことが多いですが、何度か通読しておるですよ。
6-2-3の冒頭なんかが端的にその精神を表しているように思うのですけれど。
規定されていない部分についての実装の挙動の規定というのは、シラフでじっくり読んでもほんの僅かしか確認できないし。

268:デフォルトの名無しさん
07/05/15 23:26:23
>>263
elispにあるみたいな表記?

269:デフォルトの名無しさん
07/05/15 23:31:35
反論ってこれかぁ

Scheme:マクロ:CommonLispとの比較:意味論
URLリンク(practical-scheme.net)

オレもさっぱりだw

270:デフォルトの名無しさん
07/05/15 23:48:53
>>266
perl6 の rule 見たいな感じ?

271:デフォルトの名無しさん
07/05/16 03:39:20
とりあえず現時点(R5RS)では、黒田の指摘は的を射ているということは分かった。
実装的に問題なければいーじゃんとする立場からは遠く離れた高みでの議論ですなあ。

272:デフォルトの名無しさん
07/05/16 16:30:23
おれC厨だけど、変数の代入はしないように気をつけてるよ。

273:デフォルトの名無しさん
07/05/16 16:32:04
Cは関数型言語だからな。それくらいの配慮は欲しいところだ。

274:デフォルトの名無しさん
07/05/16 16:40:36
>>273
> Cは関数型言語だからな。
???


275:デフォルトの名無しさん
07/05/16 17:09:59
関数型... 関数を通して返す値が常にあるもの。y=f(x)の関係さ。
これが一番広い意味の関数型言語の定義だと思うんだが。
純粋か不純かは関数の中で、変数の値を変化させる事が可能かどうかの
違いじゃなかったっけ?

Cはvoid型のように返す値がないものもあるので、関数型とは言わない。

276:デフォルトの名無しさん
07/05/16 17:12:34
ということは、「scheme界へ黒船襲来」に迎撃出来なかったってことか。

277:デフォルトの名無しさん
07/05/16 18:09:03
Haskellの勉強をしてからC言語やると天才になれる。
C言語で関数言語的なスタイルでプログラミングするんだ。
Lisp厨には理解出来ないか?

278:デフォルトの名無しさん
07/05/16 18:48:52
毎度のことながら言語比較厨は馬鹿っぽいな

279:デフォルトの名無しさん
07/05/16 18:57:16
馬鹿はおまえだよ
自覚しろ

280:デフォルトの名無しさん
07/05/16 19:21:08
>>277
>C言語で関数言語的なスタイルでプログラミングするんだ。

不可能ではないが、Cで関数言語的な事をやりたいならば、
関数ポインタは押さえておきなさい。

あとは、こちらより、haskellのスレに出かけて師を探せ。
じゃあがんばれよ。


281:デフォルトの名無しさん
07/05/16 19:24:18
高階関数がムズいぜ。

282:デフォルトの名無しさん
07/05/16 19:31:55
281 :デフォルトの名無しさん :2007/05/16(水) 19:24:18
高階関数がムズいぜ。


むしろ痒いよw

283:デフォルトの名無しさん
07/05/16 19:59:44
間を取ってムズ痒い

284:デフォルトの名無しさん
07/05/16 20:39:41
>>275
> 関数型... 関数を通して返す値が常にあるもの。y=f(x)の関係さ。
scheme の set-car! とかは関数だけど値を返してるといえるんだろうか。

> 純粋か不純かは関数の中で、変数の値を変化させる事が可能かどうかの
> 違いじゃなかったっけ?
代入があれば純粋ではないのはそうだろうけど、
代入がないからって純粋とは限らないんじゃないかな。
普通は副作用をもたないものを純粋というのでは?

285:デフォルトの名無しさん
07/05/16 20:57:24
純粋な関数型言語と言われているHaskellでも間接的な方法でなら代入できるよ
値を返す関数を関数の中に織り込むの

286:デフォルトの名無しさん
07/05/16 21:12:03
関数型厨は巣に帰れ。Lispが関数型かどうかなんてLisperにとってはどうでもいい問題だ。

287:デフォルトの名無しさん
07/05/16 21:38:51
カルト乙w

288:デフォルトの名無しさん
07/05/16 22:11:29
>>284
schemeのset-car!みてぽかーんとしてしまった。#t #fどっちか
返せばいいのに。

>普通は副作用をもたないものを純粋というのでは?
代入の事を指していたのではなくて、このことを指していた。
関数の中で変数が変化するのは、破壊的だと考えられる。
一度決まった変数をいじらないことをさしていて、代入の有無ではないです。

289:デフォルトの名無しさん
07/05/16 22:22:54
>>274
ほら、アレじゃね。C++ は参照透明な言語ですっていう一連のネタの続きじゃないの。
副作用の為のシンタックスシュガーが豊富に用意されていますって奴w

290:デフォルトの名無しさん
07/05/16 22:26:02
ん?
関数型言語でしょ?
URLリンク(d.hatena.ne.jp)

291:デフォルトの名無しさん
07/05/16 22:33:10
Immature Lisp 萌えw

292:デフォルトの名無しさん
07/05/16 23:17:02
ruby スレ痛い事になってるな

293:デフォルトの名無しさん
07/05/16 23:21:12
何その嵐依頼

294:デフォルトの名無しさん
07/05/17 21:01:47
R5RSとにらめっこしながらSchemeを勉強中なのですが、
未束縛のxがあるとして、
(define-syntax foo
 (syntax-rules () ((_) (define x 100))))
(foo)
としたあと、xが100になる処理系(Gauche,scm,guile)とxが未束縛のままの処理系(Gambit-C,scheme48,MzScheme)があるのですが
マクロ変換子のスコープってどうなってるんでしょうか
予想としては(syntax-rules ... )まで(後者の挙動)かなぁ、と思うのですが

295:デフォルトの名無しさん
07/05/17 21:49:50
トップレベルじゃなければ大体の処理系では前者になるんじゃね?

296:デフォルトの名無しさん
07/05/17 21:52:11
>>294-295
petite chez schemeではそのマクロを定義しようとした時点でエラーになった。

297:デフォルトの名無しさん
07/05/17 21:54:04
>>296
ハイジニックな性質を守るためにはそれが正解だろう。

298:デフォルトの名無しさん
07/05/17 22:38:01
>>296
ならねーよ。
もしかして全角空白ごとコピペしたんじゃね?

299:294
07/05/17 22:42:27
Gaucheは
> (foo)
> x
→ 100
なのに
> ((lambda () (foo) x))
だと、未定義もしくはlambda呼び出しの前の値です
((lambda () (foo) x))が100を返すけどトップレベル束縛にならない処理系もあって訳分からなくなってきました…
(foo)でスコープが閉じてその外では100にならないのが正しいと思うのですが

300:デフォルトの名無しさん
07/05/17 23:00:07
マクロのかわりができなきゃ何のために導入するの?

301:デフォルトの名無しさん
07/05/17 23:01:20
そういうのにストレス感じる人はコモンリスプへいらっしゃいw

302:294
07/05/17 23:05:20
>>300
defineは内部定義になってもset!は可視の束縛場所の値の変更ですから
使えるのではないでしょうか

内部定義だからxは自由参照じゃないからリネームされて外側のスコープの値を変更しない…んですよね?
保険的マクロ二加えて古典的マクロとgensymをR6RSに入れてくれれば良いのに

303:デフォルトの名無しさん
07/05/17 23:18:22
>>302
syntax-caseが導入予定。
古典的マクロはsyntax-caseで実装可能。

304:294
07/05/18 14:41:54
>>303
syntax-rulesの表現力に不満がある訳じゃなくて
(まだ自分はそんなレベルじゃないです)
実装が難しくて挙動が処理系依存になっているのなら
ポータブルな古典的マクロも標準に入れてほしいと思っただけです

syntax-rulesでスコープが閉じてるとしたら
マクロでdefineを使用すると必ず内部定義になってしまうから
R5RSのマクロの項でトップレベル定義のdefineについて言及していることへの辻褄が合わなくなってしまいますね
でも閉じてない(マクロ使用と同じスコープ)なら
そのマクロは定義が許される文脈でしか使用できなくなりますね
でも識別子の衝突を避けるためにリネームされるってことは
新しいスコープができている事に他ならない気もしますし
どっちなんでしょうか

305:デフォルトの名無しさん
07/05/18 15:33:40
Scheme用のいいGUIツールキットってないかな・・・

306:デフォルトの名無しさん
07/05/18 17:39:53
処理系によりけり。

307:デフォルトの名無しさん
07/05/18 17:56:30
同じOS上でも処理系毎に違うのなんとかならんのだろうか?


308:294
07/05/18 18:40:13
言葉がわかりづらい…
束縛→場所をユニークに表すもの
束縛する→識別子を場所またはマクロ変換子に対応づける
参照→場所から値を取り出す事
という解釈で良いんでしょうかね
束縛するはともかく他の2つは直感的な理解と違う解釈な気がしますけど

内部定義のduplicate bindingについてはR5RSでは言及されてないようですけど
内部定義のdefineは完全に等価なletrec変換できるって書いてあるので
暗黙的にduplicate bindingは禁止なんでしょうね
でも処理系によって許すものと許さないものがあるようです

syntax-caseで使用する識別子'_'はマクロ名を表すって説明してるサイトもありますけど
必ずしもそうじゃないんですね
パターンリストの先頭の識別子はパターン変数にならず、
マクロ名と見なされるってだけなので
(define-syntax foo (syntax-rules () ((bar _) (begin (display _) (newline)))))
見たいに書くとパターン変数として使えるんですね

309:デフォルトの名無しさん
07/05/18 20:00:03
>>306
じゃあGaucheで

310:294
07/05/18 20:08:42
あ、自分のレスみて気がつきましたが
パターン変数はいわばメタ変数で実体を持たないから
束縛を隠蔽する事はあっても新しい束縛の導入にならないんですね
じゃあR5RSの4.3のマクロの項で述べられている「束縛の挿入」は束縛コンストラクタを指している
そしてその束縛は(リネームされるから)マクロ使用の周りのものとは異なるわけですね
だからmzschemeやGambit-Cやscheme48の挙動が正しい

311:デフォルトの名無しさん
07/05/18 21:45:48
>>308
束縛という日本語が、Lispを無駄に難解な言語だと誤解させている部分はあるかもしれないねえ。
単にまんまバインドと言うほうがわかりやすかったりして。言葉の意味をあまり考えないで済む分。
似たようなのに「関数」てのがあるね。もともとfunctionの中国語読みを無理やり函数なんて漢字に当てたもんだから、
プログラミングを初めて学ぶ人の中には、関数て語で混乱する人も少なくないらしい。
遠山啓先生なんかは何十年も前の著作で、functionは「函数」じゃなくて「機能」でいいじゃないかと書いていらっしゃる。

312:デフォルトの名無しさん
07/05/18 21:49:07
支離滅裂だな
「私は漢字苦手です」の一言で済むだろ

313:デフォルトの名無しさん
07/05/18 22:03:55
オレも用語法に付いては同意見だな。 >> 英語そのままで良い
関数は違和感を覚える前に慣れてしまったけど、
理系の人間の国語センスの無さには絶望する。

314:294
07/05/18 22:05:51
うーん、あまり複雑に考えなくていいのかもしれません
構文束縛を除いて考えると
束縛とは
({let,let*,letrec} ((ここにある識別子 value) ...) body)
(lambda (ここにある識別子  ...) body)
(内部定義のdefine ここにある識別子 expression)
(トップレベルのdefine ここにある識別子、ただし未束縛 expression)
参照とは
識別子のうち、束縛でないもの
束縛の別名が束縛識別子、参照の別名が自由識別子って言う解釈で良いのでしょうか

>>311
束縛変数、自由変数だけならλ式みたいで分かりやすいんですけどね
束縛する、束縛、〜に対する束縛、〜への束縛、いろいろ種類があるので分かりにくいです

315:294
07/05/18 22:11:33
「識別子は場所に束縛される」
この表現は解釈の余地もなく分かりやすいのですが
それ以外の「束縛する」、「束縛」などが分かりにくいですね

316:デフォルトの名無しさん
07/05/18 22:13:20
用語なんて慣れの問題だと思うけどね

317:デフォルトの名無しさん
07/05/18 22:27:27
>>313
functionなんて、今の関数よりはもともとの函数のほうが箱(函)をイメージして意訳してるので、
数学的な意味では関数よりも原語に近いイメージなんだけど、んなもん言われなきゃ気づかないよってのが痛いよなあ。
函→関に変わったのも、函の数て何よ?てなことからなんだろうし。
その点、「実装」てのは実に優秀な訳だと思う。見た瞬間にイメージが沸く。

318:デフォルトの名無しさん
07/05/18 22:45:17
まぁでも "Lisp" という単語を、日本語として適当な語句に訳せって言われたら難しいよね。
何か以前も同じ様な話題があった様な気がするけど…

;; 無理矢理話題をスレの趣旨に近付けてみた。

319:デフォルトの名無しさん
07/05/18 22:45:37
>>317
函→関は当用(か常用)漢字の問題

320:317
07/05/18 22:57:22
>>319
恥ずかしながら存じませんでした。勉強になりました。
しかし、音が同じってだけで漢字を変えるってのもどうかとw

321:デフォルトの名無しさん
07/05/18 22:59:31
ま、周りに混乱を撒き散らして俺擁護を定着させるより
今定着している擁護で理解するほうがよっぽど楽だな。

322:294
07/05/18 23:00:34
314は全然間違いでしたね
(lambda () x)と((lambda () x))では違いますから
評価される識別子→参照
評価されない識別子→束縛
ならいいでしょうか

323:294
07/05/18 23:05:48
あー、でも'xとかを束縛とは呼べない気がしますから
今は評価されていないけどいずれ評価されうる識別子→束縛
かな?

324:デフォルトの名無しさん
07/05/18 23:08:09
>>320
音だけの問題じゃないぞ。
数と数の関連を表してるという意訳でもある。

325:デフォルトの名無しさん
07/05/18 23:47:31
>>323
(eval 'x)
……とか言ってみる
いや、そんなによくわかってないんだけど

326:デフォルトの名無しさん
07/05/19 00:17:17
関数の結果が解っつうのも…
関連性ほどけちゃってるじゃん

327:デフォルトの名無しさん
07/05/19 00:49:34
お前らがLispからイメージする色ってなによ?

たとえばRuby=>赤、Perl=>青、Python=>俺は紫なんだけど
Lispってイメージわかないんだよなぁ。しいて言えば無職ってかんじ。

328:327
07/05/19 00:50:54
oops
x無職
o無色

329:デフォルトの名無しさん
07/05/19 00:53:08
黄色に決まってるじゃん

330:デフォルトの名無しさん
07/05/19 01:04:20
Perlは黄色で、Lispの方が青っぽいなあ
Lispは透明感がある感じ。

331:デフォルトの名無しさん
07/05/19 01:11:55
>>327


332:デフォルトの名無しさん
07/05/19 01:15:30
紫かなあ。ANSI Common Lisp の表紙が紫だから。

333:デフォルトの名無しさん
07/05/19 01:23:10
Ruby ・・・ ルビー色
Perl ・・・ 真珠色
Python ・・・ ニシキ蛇色
Lisp ・・・ ポール色

334:デフォルトの名無しさん
07/05/19 01:26:40
Python 青紫 Common Lisp 透明で少し青みがかかってるちょいとつや消し
Ruby 赤 Perl 黄 Scheme 明るい青
C やや白っぽい黄 C++ ドドメ色
AWK 赤茶色 sed 黄
Ocaml 肌色

335:デフォルトの名無しさん
07/05/19 07:28:21
>>316
君が思うまでもなく、みんな慣れの問題についての話をしてるんだよ。
何のメリットも無いのに、慣れるための壁を高くしてそうな日本語訳についての話。

336:デフォルトの名無しさん
07/05/19 09:22:35
Perl で黄色ってのはどういう連想なんだろう?
俺はCPANが水色だから水色を連想した。

>>334
>C やや白っぽい黄
なんかエロイな。

337:デフォルトの名無しさん
07/05/19 09:54:54
どうでもいいです。ネタがないなら無理して書き込まなくて結構です。

338:294
07/05/19 14:18:23
>>325
結局C的に言えば
参照→*&x
束縛→&x
になりますかね

339:294
07/05/19 15:35:47
いろいろ考えすぎてました

識別子は場所に束縛される
束縛は識別子が束縛されている場所
参照は識別子が束縛されている場所から値を得る

ですね

340:294
07/05/19 16:32:40
いろいろな処理系の挙動を観察してみましたが
結論としてはdefine-syntax内ではdefineは使わないほうが良いようですね
他の束縛コンストラクタは閉じ括弧によって明示的にスコープも閉じられるので解釈に曖昧さがありませんが
defineはスコープの終端が明示的ではないので処理系によって挙動がずいぶん違うようです
というか内部定義のdefineなんてものが諸悪の根源のような気もします

341:デフォルトの名無しさん
07/05/19 18:28:42
用語なんて慣れの問題

342:デフォルトの名無しさん
07/05/19 18:33:35
あだだだだだ・・・・・・
イタイねぇw

343:デフォルトの名無しさん
07/05/19 18:40:28
今日も痛いの湧いてんなぁ

344:デフォルトの名無しさん
07/05/19 18:49:10
↑なんか湧いてるぞ

345:デフォルトの名無しさん
07/05/19 18:55:09
>>339
なんか別の言葉で再定義して満足してるだけじゃね?

346:デフォルトの名無しさん
07/05/19 20:36:40
Ruby スレを荒らしてたキチガイだろ。調子のって Ruby スレで暴れてたら
Lisper が居て泣きながら帰ってきたってとこか。迷惑な…。
Ruby スレでもいらない子。Lisp スレにもどってきてもやっぱりいらない子。


347:デフォルトの名無しさん
07/05/19 20:44:33
セルビオゲゼルが提唱している、減価する貨幣。
私はそれを実現するべくLispの勉強を始めたのでした。

348:デフォルトの名無しさん
07/05/19 21:02:57
>>346
ライブラリが無いから実用的じゃないという流れでACL出されて
その後論点がまるで変わっているように見えるんだけどなぁ

というかこどもっぽい反応が目に付くような

349:294
07/05/19 21:30:05
>>342-4 >>346
スレを汚して申し訳ないですけど
私はRubyスレをのぞいた事も書き込んだ事もないですし、
CLとschemeは勿論、それ以外の言語をけなす意図もないです

>>345
新しい概念の理解ではないので、自分の理解している言葉に置き換えただけです

350:デフォルトの名無しさん
07/05/19 21:45:33
>>348
つか Ruby スレで Lisp 話やるのがスレ違いで叩き出されて当然だろ。
戻ってこられても迷惑だけど。

351:デフォルトの名無しさん
07/05/19 21:48:21
見てきただけの俺に言われても困るんだが…

352:デフォルトの名無しさん
07/05/19 21:58:47
>>350
キミも荒らしている一人じゃないか?
ほぼ書式が一緒だが

701 名前:デフォルトの名無しさん[sage] 投稿日:2007/05/19(土) 00:16:07
 >>689 バカはお前だよ。CL コミュでもライブラリ不足は長い事問題になってんじゃん。
 で、他言語のライブラリを活用しようとかって話でてるじゃん。ILC とか c.l.l とか読んでるんか?
 きみのような頭が病気な人が一人いるだけで Lisper としては迷惑なんだよ。ここは Ruby スレだし。
 
 まぁ Lisp 厨を装った荒しなんだろうけど、困ったもんだ…。

710 名前:デフォルトの名無しさん[sage] 投稿日:2007/05/19(土) 01:29:24
 >>702 救い難いキチガイだな。なんで SBCL だと思ったんだ?妄想?
 残念だけど Allegro CL 使ってるっつーの。そんでも Ruby を使うこともある。
 そんで敬意は払う。おまえみたいに比較ばっかりで何一つ使いこなせないのが一番タチ悪いよ。
 

720 名前:デフォルトの名無しさん[sage] 投稿日:2007/05/19(土) 08:35:03
 ちょwwww 荒し君 >>714 バカとかしか出なくなwww 小学生かよ。荒らし君涙目?売りは粘着だけか?
 つかどっかで半端な知識でも聞きかじってきたんだろうが、Ruby スレで Lisp ネタで論破されるとは
 どんだけヘタレなんだよ……Ruby ユーザーかつ Lisp ユーザーみたいな層の存在を考えなかったのか。

353:デフォルトの名無しさん
07/05/19 22:07:06
>>852
このスレを荒らすなよ

354:350
07/05/19 22:14:32
>>352
なんか妄想入ってきたな。Ruby スレの奴も navi2ch 使ってそうだと推測はできるけど。

355:デフォルトの名無しさん
07/05/19 23:08:23
またRUBYキチガイが暴れてるの?
アレはほんと迷惑だな

356:デフォルトの名無しさん
07/05/19 23:15:35
両方荒らして「おれってすげー」ってほくそえんでいる、寂しい奴が一人というのが正解。

357:デフォルトの名無しさん
07/05/19 23:50:16
今なら言える
ぬるぽ!

358:デフォルトの名無しさん
07/05/19 23:55:32
>>357



          ガ







                                 ッ


                                              


359:デフォルトの名無しさん
07/05/20 00:04:47
ちん剣士

360:デフォルトの名無しさん
07/05/20 00:07:29
>>354
どこら辺が妄想に見える?

361:デフォルトの名無しさん
07/05/20 00:18:03
lisp/scheme で処理系に ヌルポ って云わせてみたいんですけど
どうすればいいんでしょうか?


362:デフォルトの名無しさん
07/05/20 00:19:17
'ヌルポ

363:デフォルトの名無しさん
07/05/20 00:23:32
>>361
そんな当たり前の答えは期待していないんですけどorz


364:デフォルトの名無しさん
07/05/20 00:49:57
>>327
Rubyは赤葡萄酒色
Perlは茶色
Pythonは鉛色(ちょいメタリックぽい色)の縞柄
Lispはエメラルド色

365:デフォルトの名無しさん
07/05/20 00:56:58
>>363
そりゃ、当たり前な答えしか返ってこない聞き方してるからじゃないか?
どんな答えを期待してるのか書いてくれなきゃわからんよ

366:デフォルトの名無しさん
07/05/20 00:58:17
>>362
'ガッ

367:デフォルトの名無しさん
07/05/20 01:11:16
>>360
荒らしはいろんなところでウザがられるのが当然じゃないか?
Rubyスレのぞいたけど >>352 に引用されてる記事の前に荒らしてるから煽られてんだろ

368:デフォルトの名無しさん
07/05/20 01:19:16
>>367
2chの鉄則「荒らしに反応した奴も荒らし」
>>352は「反応する」の域を明らかに超えてるな

というか「煽ってる」って自覚があるんだな

369:デフォルトの名無しさん
07/05/20 01:29:55
自覚て。俺 (367) も同一人物ってこと?

370:デフォルトの名無しさん
07/05/20 05:25:04
香ばしい展開

371:デフォルトの名無しさん
07/05/20 09:20:54
まぁこういうアホな会話を育ててしまうという経験を積んでいくうちに
「あれ、どうやら俺は、自分で思っていたほど賢くないみたいだぞ?」
っていうのを学んでいくんですよ。

一生「会話がアホになったのは俺と違って相手がバカだから」の一点張りで生き続けるのも
たまに居ますが。

372:デフォルトの名無しさん
07/05/20 14:01:12
>>369
バレてないつもりなのか
>>367にもそのレスにもまだ特定できるほどの特徴が残ってるんだよ

373:デフォルトの名無しさん
07/05/20 14:28:42
ここで Ruby スレみたいな話をするのは止めておくれ

374:デフォルトの名無しさん
07/05/20 14:44:53
>>373
そりゃ駄目だよ
こういう馬鹿がRubyスレとか他のスレで暴れる前に釘を刺しておかないと

お前の事だけどな

375:デフォルトの名無しさん
07/05/20 14:48:14
>>372の後でも特定されるようなレスをするのはわざとなんだろうか
第三者のなりきりかな?

376:デフォルトの名無しさん
07/05/20 14:51:32
そこまで執着する理由が分からんけど、何かトラウマでもあるの?

377:デフォルトの名無しさん
07/05/20 14:54:25
>>375
もしかして自分が間違ってるかもと思ったら、それが正解だよ。
これ、俺からのアドバイスね。

378:デフォルトの名無しさん
07/05/20 15:11:51
それはチョンの陰謀

379:デフォルトの名無しさん
07/05/20 15:50:01
>>352 に引用されてるやつは元レスの荒らしが酷いからRubyスレ住人がキレたんだろ。
なんでそんなに特定したがってんだ??

689
CommonLisp が実用的じゃないって Ruby 厨はどれだけアホなんだw
で、Gauche の方が実用的だって?
Shiro 氏自身が実用で使うなら Gauche より CommonLisp とるって言っているのにwwww

702
SBCLで仕事しようとするからだろ
アホか

714
>>710は真性のアホだなw


380:デフォルトの名無しさん
07/05/20 15:58:09
>>379
こんな見え見えの釣り針に>>352って小学生同士の喧嘩か

381:デフォルトの名無しさん
07/05/20 16:01:00
>>379
「特定したがってる」んじゃなくて、
別人を装って>>352に引用されてる奴を擁護してるからお前に突っ込んでるんだよw

382:デフォルトの名無しさん
07/05/20 16:03:13


  こ

 ち

   ぬ


383:デフォルトの名無しさん
07/05/20 16:04:36
なんでこのスレ定期的に炎上するの?w

384:デフォルトの名無しさん
07/05/20 16:07:07
ところで君たちは何をそんなにムキになってるのかね?
Ruby スレがどうしたとかなんとか、そんなにムキになるほどの
ことなのかね?
そもそも何を怒ってるんだ君たちは?

385:デフォルトの名無しさん
07/05/20 17:02:31
本人キター

386:デフォルトの名無しさん
07/05/20 18:07:02
\(^o^)/オワタ
URLリンク(www.unsymmetry.org)

387:デフォルトの名無しさん
07/05/20 18:26:41
>>386
すごい勢いだな。

388:デフォルトの名無しさん
07/05/20 18:28:43
>>386
実は奥の二人の方がが、手前の人よりも重要なんだよね(;゚∀゚)=3

389:デフォルトの名無しさん
07/05/20 18:39:58
なんで乳をそんなとこから出してんの? 不思議!

390:デフォルトの名無しさん
07/05/20 20:30:42
GaucheNight前
Lisp実装時の疑問に答えるスレ

GaucheNight後
GaucheNightの記事でLispを知ったLL信者に答えるスレ


391:デフォルトの名無しさん
07/05/20 21:04:45
ここはRuby支配下ですか?
他の言語は完全に支配下に置いたんですけどねぇ・・・

392:デフォルトの名無しさん
07/05/20 21:07:38
なんか痛いのがきた

393:デフォルトの名無しさん
07/05/20 22:51:04
>>379
というかこれ自体は別に嘘言ってないよなあ
ライブラリが少ないから実用的じゃないみたいなツッコミに
商用パッケージ使わないからと言っているだけだし
相手が小学生みたいな反応に見える

394:デフォルトの名無しさん
07/05/21 03:31:13
>>391
グレアムおじちゃんがお口にλつけて仕舞いにくるぞ


395:デフォルトの名無しさん
07/05/21 05:51:37
「支配」っていうのは、とてもRuby的な概念だよね。
自己顕示欲ともPerlコンプレックスともつかない、Rubyユーザーの野望がよく出てる単語というか。
とても人間的。

Lispはどっちかというと「わかる奴だけ使う最強兵器」みたいな位置だし、
ユーザーもそういう位置で満たされてるから、言語トーク自体を楽しむ意気込みはあっても、
そこで支配というワードが来ると、それどーゆー意味だったっけ的な溝を感じる。

396:デフォルトの名無しさん
07/05/21 10:51:46
ふーん

397:デフォルトの名無しさん
07/05/21 14:13:14
「最強兵器」も「支配」といい勝負ではないか?

398:デフォルトの名無しさん
07/05/21 14:41:11
頭悪そう

399:デフォルトの名無しさん
07/05/21 14:46:33
「支配」っていうのは、とてもボールペン的な概念だよね。
自己顕示欲とも万年筆コンプレックスともつかない、ボールペンユーザーの野望がよく出てる単語というか。
とても人間的。

筆ペンはどっちかというと「わかる奴だけ使う最強兵器」みたいな位置だし、
ユーザーもそういう位置で満たされてるから、筆記用具トーク自体を楽しむ意気込みはあっても、
そこで支配というワードが来ると、それどーゆー意味だったっけ的な溝を感じる。


400:デフォルトの名無しさん
07/05/21 15:31:15
Schemeは毛筆、と。メモメモφ(・∀・)

401:デフォルトの名無しさん
07/05/21 16:34:30
鉛筆最強

402:デフォルトの名無しさん
07/05/21 18:35:45
schemeはチョークじゃなかったっけ

403:デフォルトの名無しさん
07/05/21 18:45:51
メモメモφ(・∀・)
 smalltalk (n.) [smo?to?k]] 1.文房具談義、筆記用具トーク 2. 小型のチョーク (→数奇夢)

404:デフォルトの名無しさん
07/05/21 19:55:41
Ruby信者はいつも元気だな

405:デフォルトの名無しさん
07/05/21 21:18:17
Common Lispは山羊の毛の毛筆
Schemeは馬の尾の毛だな

406:デフォルトの名無しさん
07/05/21 21:46:39
>>405
どう違うの?

407:デフォルトの名無しさん
07/05/21 21:55:05
山羊の毛は(()())で
馬の尾の毛は(().())

408:デフォルトの名無しさん
07/05/21 21:58:49
俺様Lispはあそこの毛で作りました

409:デフォルトの名無しさん
07/05/21 22:04:42

 )

 )

410:デフォルトの名無しさん
07/05/21 22:18:54

 )

 )


411:デフォルトの名無しさん
07/05/21 22:19:36
λ
(())

412:デフォルトの名無しさん
07/05/22 12:48:02
黒板偉大なり

413:デフォルトの名無しさん
07/05/22 14:22:56
今、ウェブ・サービスの多くが、
Javaや.NETベースのアプリケーションサーバや、
Perl/Ruby/PHP/Python等のLightweight Languageの上に構築されていますが、
なぜそこにLispが含まれていないのでしょうか?

414:デフォルトの名無しさん
07/05/22 14:36:04
これはひどい一本釣りですね

415:デフォルトの名無しさん
07/05/22 18:42:36
(lambda

416:デフォルトの名無しさん
07/05/22 20:08:35
らんぶだ!

417:デフォルトの名無しさん
07/05/22 21:07:15
lambda! と申したか
酷い仕様だな

418:デフォルトの名無しさん
07/05/22 21:42:35
(lambada () '石井明美)

419:デフォルトの名無しさん
07/05/22 22:03:47
>>418
それはラマダン!

420:デフォルトの名無しさん
07/05/22 22:04:44
>>419
むしろラバンバ。

421:デフォルトの名無しさん
07/05/22 22:09:05
lamborghini

422:デフォルトの名無しさん
07/05/22 23:21:41
俺ははじめてlambdaを見たとき
ふつーにランバダってよんでたな。

423:デフォルトの名無しさん
07/05/23 00:36:40
俺は脳内でラムブダとつぶやきながら書いてる。

424:デフォルトの名無しさん
07/05/23 01:01:47
馬鹿が多くてちょっとほっとした

425:デフォルトの名無しさん
07/05/23 02:13:32
ホッとするのは底なしに危険だぜ

426:デフォルトの名無しさん
07/05/23 02:22:37
底なしなど幻想だ

427:デフォルトの名無しさん
07/05/23 05:59:23
「実質的に無限」というのは「有限」という意味だからね。
なんかこう、Lisperは特にそう考えたがりそうだね。

428:デフォルトの名無しさん
07/05/24 20:48:16
lispは見なす事が自然と身に付く
それができない頭硬いバカチンに使いこなすのは無理

429:デフォルトの名無しさん
07/05/24 22:21:39
迷惑だから Ruby スレで暴れているヤツ引き取ってくれ

430:デフォルトの名無しさん
07/05/24 22:26:26
実際そうしたい

431:デフォルトの名無しさん
07/05/24 22:31:47
>>429
暴れてるのはお前だろ

432:デフォルトの名無しさん
07/05/24 23:26:53
そもそも「引き取る」という概念がおかしいな。
スレッドと訪問者の関係を、チームと選手の関係みたいに思ってるんじゃないのか。

433:デフォルトの名無しさん
07/05/24 23:30:54
ゴミはGCへ

434:デフォルトの名無しさん
07/05/24 23:42:04
クロージャー体操
はっじまっるよーーーーーー

435:デフォルトの名無しさん
07/05/26 08:24:50
>>428
>...バチカンに使いこなすのは無理 に見えた。
言語論争の次は宗教論争かと思った。

436:デフォルトの名無しさん
07/05/26 09:10:00
オーソドックスなネタですね。


437:デフォルトの名無しさん
07/05/26 09:22:46
ウェブ技術系のブログを見ると、
「やっぱPHP最強だわ」などの表現が見当たりますが、
Lispはどうなのでしょうか。

438:デフォルトの名無しさん
07/05/26 09:50:39
括弧の数なら負ける気がしないぜ!

439:デフォルトの名無しさん
07/05/26 10:06:29
少しはカッコを減らす努力をしないと
ポール・グレアムに嘲笑われるぞ

440:ジュリー
07/05/26 10:14:38
勝手にしやがれ( ゜∀゜)

441:デフォルトの名無しさん
07/05/26 13:00:49
>>438-439
URLリンク(srfi.schemers.org)

442:ジュリー
07/05/26 13:03:34
♪せめて〜 少しはカッコ付けさせてくれ〜

443:デフォルトの名無しさん
07/05/26 21:50:17
>>441
それめっちゃ気持ち悪い。dylan? やっぱりかっこがいい。
かっこいいの!

444:デフォルトの名無しさん
07/05/26 22:10:11
>>442 藁。

445:デフォルトの名無しさん
07/05/26 22:33:45
curlってどうなったの?

446:デフォルトの名無しさん
07/05/26 23:41:43
>>441
なんかスカスカで見た目にかっこわるい

447:デフォルトの名無しさん
07/05/27 00:39:40
>>441
python 以上にキモい……

448:デフォルトの名無しさん
07/05/27 15:07:27
なんかMLみたいになっちゃってるね。

449:デフォルトの名無しさん
07/05/27 16:33:48
これがそんなにキモイか?

 define (fac x)
  if (= x 0) 1
  * x
   fac (- x 1)

じゃあこうしよう

 define (fac x)
 {
  if (= x 0)
  {
   1 (* x)
  }
  {
   fac (- x 1)
  }
 }

450:デフォルトの名無しさん
07/05/27 16:40:56
K&R派なオレはそのifの書き方見るとイライラしてくるんだよねw

451:デフォルトの名無しさん
07/05/27 16:44:10
>>449
{ } の代わりに ( ) にしてみてもいいかも

452:デフォルトの名無しさん
07/05/27 16:47:59
>>449
どうでもいいが式が間違ってるぞ
まあ前者はインデントが浅すぎでキモく見えるだけじゃないのか?

453:デフォルトの名無しさん
07/05/27 16:52:20
インデント文法で一番有名なPythonは20年後はもう衰退していると思うが、
この手法はSchemeと一緒に30年後も生き残っていそう。
それで、インデント文法はSchemeが元ネタだ! と騒ぐ信者が出現


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5371日前に更新/220 KB
担当:undef