きっかけや理由を教えて下さい。
探検
【熱く】お前のEmacsにはまった理由【語れ】
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
NGNG05/02/12 13:47:20
>>361
> 別に有利じゃないよ。lexical scope の言語で dynamic binding を使いたい
> ならfluid-let みたいなマクロを用意しとけばいいだけだし。
う〜んと、相互に実現可能ってのはいいとして、どうして dynamic binding を使いたくなるのかって話。
代表的なのは、ローカル変数との絡みかな。各種 coding-system とか、 fill-column とか。
こういう変数を使う関数は、基本的にバッファごとに決まった値しか使わない。
でも、たまには違う値を使ってほしいこともある。
そんな関数は、 ELisp だと、単に変数を読みに行くだけでいい。
一時的に違う値を使うときは、束縛しとけばいいからね。
こういうやりかたは、 dynamic binding じゃないとできないでしょ。
> 現在では byte-opt.el にもあるよ
> うにすでに足枷でしかないんだけど
「足枷」なのは、 byte-opt.el の目的、最適化に対してでしょ。
基本的に、静的なものは効率と安全性を、動的なものは柔軟性を提供する。
どっちがいいかなんて用途次第。
特に Emacs は、効率よりも柔軟性を重視した環境だよね。
関数でできることはマクロにしないとか、 defsubst の多用も非推奨とか。
だから ELisp には、 dynamic binding がふさわしいと思う。
> 別に有利じゃないよ。lexical scope の言語で dynamic binding を使いたい
> ならfluid-let みたいなマクロを用意しとけばいいだけだし。
う〜んと、相互に実現可能ってのはいいとして、どうして dynamic binding を使いたくなるのかって話。
代表的なのは、ローカル変数との絡みかな。各種 coding-system とか、 fill-column とか。
こういう変数を使う関数は、基本的にバッファごとに決まった値しか使わない。
でも、たまには違う値を使ってほしいこともある。
そんな関数は、 ELisp だと、単に変数を読みに行くだけでいい。
一時的に違う値を使うときは、束縛しとけばいいからね。
こういうやりかたは、 dynamic binding じゃないとできないでしょ。
> 現在では byte-opt.el にもあるよ
> うにすでに足枷でしかないんだけど
「足枷」なのは、 byte-opt.el の目的、最適化に対してでしょ。
基本的に、静的なものは効率と安全性を、動的なものは柔軟性を提供する。
どっちがいいかなんて用途次第。
特に Emacs は、効率よりも柔軟性を重視した環境だよね。
関数でできることはマクロにしないとか、 defsubst の多用も非推奨とか。
だから ELisp には、 dynamic binding がふさわしいと思う。
05/02/12 14:15:26
>>371
> 代表的なのは、ローカル変数との絡みかな。各種 coding-system とか、 fill-column とか。
> こういう変数を使う関数は、基本的にバッファごとに決まった値しか使わない。
> でも、たまには違う値を使ってほしいこともある。
このへんをバッファローカル変数として実現したのは秀逸だと思う。
Cレベルのままにオブジェクトのプロパティなんかになってると
unwind-protectでわざわざ復帰するコードを書かないといけない。
それがローカル変数とすることでletで済む。
この感覚がdynamic bindingとマッチしたとは俺も思う。
まあfluid-letでもいいしプロパティのままでも適当にマクロ作ればいいけど、
冴えたやり方って感じしないよね。
> 代表的なのは、ローカル変数との絡みかな。各種 coding-system とか、 fill-column とか。
> こういう変数を使う関数は、基本的にバッファごとに決まった値しか使わない。
> でも、たまには違う値を使ってほしいこともある。
このへんをバッファローカル変数として実現したのは秀逸だと思う。
Cレベルのままにオブジェクトのプロパティなんかになってると
unwind-protectでわざわざ復帰するコードを書かないといけない。
それがローカル変数とすることでletで済む。
この感覚がdynamic bindingとマッチしたとは俺も思う。
まあfluid-letでもいいしプロパティのままでも適当にマクロ作ればいいけど、
冴えたやり方って感じしないよね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ひきこもり】「引き出し屋」の恐怖が今も消えない…着の身着のまま連行する「自立支援」の被害者たちの訴え [nita★]
- 【京都】ハチが巣くった3年放置の迷惑バイク 撤去したマンション管理会社に「違法」と賠償命令 [香味焙煎★]
- 【速報】首相は消費税減税について「国の財政はどうなるのか」と慎重姿勢を示した [ぐれ★]
- 【MLB】ヤンキース・ジャッジか止まらない… 2打席連発13号&14号 大谷翔平を引き離し単独トップ 敵地騒然 [冬月記者★]
- 「富士山を甘く見ている。隊員は命懸け」 富士宮市長が怒り 閉山期の救助費用は自己負担にすべきと主張 県にルール作りを要請する考え [ぐれ★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★41 [Ailuropoda melanoleuca★]
- トヨタ純利益35%減😱・・・トランプ関税で1800億円減益🤮 [441660812]
- 🏡💥🔨🥺💦んしょ…んしょ…
- カンニング竹山「大屋根リングは凄くて圧巻!絶対に見た方がよい」「3850円のえきそばめちゃめちゃウマい!😲万博の感想述べる [521921834]
- (ヽ´ん`)「女性を叩くのはネトウヨ」 [932029429]
- 【動画】チャリカスまんさんに天罰が下る🚴‍♀💥 [632966346]
- ムラムラするから元カノで抜くわ