Emacs Part 47 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2014/12/20(土) 16:17:19.14GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/
EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/
前スレ
Emacs Part 46
http://peace.2ch.net/test/read.cgi/unix/1403458934/
0512名無しさん@お腹いっぱい。
2015/03/04(水) 13:37:15.380513名無しさん@お腹いっぱい。
2015/03/04(水) 13:43:06.70common lispですら関数型言語と認めない人だっているわけで、
何の実りもなさそうな話じゃね
0514名無しさん@お腹いっぱい。
2015/03/04(水) 13:44:44.85vim や他のエディタにシェアを奪われるのも致し方ないな
0515名無しさん@お腹いっぱい。
2015/03/04(水) 13:45:30.61その人に聞いてみれば?
0516名無しさん@お腹いっぱい。
2015/03/04(水) 13:47:03.84そんな質問する人には、どうでもいいレベルの問題
0517名無しさん@お腹いっぱい。
2015/03/04(水) 13:49:02.73お前は知らないかもしれないが、vimスクリプトの糞さに比べれば1000倍マシ
0518名無しさん@お腹いっぱい。
2015/03/04(水) 13:49:11.12たとえばどんな問題を想定してるんだろ
0519名無しさん@お腹いっぱい。
2015/03/04(水) 13:49:50.76どんなとこがクソ?
0520名無しさん@お腹いっぱい。
2015/03/04(水) 13:51:52.840521名無しさん@お腹いっぱい。
2015/03/04(水) 13:53:07.01やっぱ蓄積重要なんだよな〜という感じ。
nyagos もそうなるくらいには長く歴史を重ねて欲しいと思う。
0522名無しさん@お腹いっぱい。
2015/03/04(水) 13:54:21.45> 山本先生 > Emacs Lisp は命令型言語
これはCでプログラミングしてる人がelisp書いてるから、Cっぽく書く人が多いっていう意味で
Emacs Lispそのものの事を言ってんじゃないぞ
0523名無しさん@お腹いっぱい。
2015/03/04(水) 13:54:29.24それにも関わらず、今まで出会ったLisperは全員、LispのコーディングにはEmacsを利用しているのは不思議だ。
おそらく、Emacsとその資産を再実装する手間を考えたら、Emacsを使ったほうが得策なのだろう。
0524名無しさん@お腹いっぱい。
2015/03/04(水) 13:55:39.42http://www.mew.org/~kazu/material/2010-func.pdf
0525名無しさん@お腹いっぱい。
2015/03/04(水) 13:57:40.29知ったかぶり出来る風潮があるな
0526名無しさん@お腹いっぱい。
2015/03/04(水) 13:59:33.19elispが言語として貧弱かどうかと
Emacsがエディタとして貧弱かどうかは
まったく別の話では。
0527名無しさん@お腹いっぱい。
2015/03/04(水) 14:00:21.53まとめ
■ Emacs Lisp は命令型言語
■ 関数型言語の要素は持っているが、
プログラマーは命令プログラミングしかしていない
0528名無しさん@お腹いっぱい。
2015/03/04(水) 14:00:44.090529名無しさん@お腹いっぱい。
2015/03/04(水) 14:02:53.80結局 emacs lisp での関数言語的なループは提示されてないよねこれ。
0530名無しさん@お腹いっぱい。
2015/03/04(水) 14:03:14.580531名無しさん@お腹いっぱい。
2015/03/04(水) 14:03:56.550532名無しさん@お腹いっぱい。
2015/03/04(水) 14:05:14.88末尾再起最適化がないから再帰ですぐスタック使い果たす
これだけでくそだってわかんだね
0533名無しさん@お腹いっぱい。
2015/03/04(水) 14:07:22.47スタックのサイズがデフォルトではかなり制限されていたり、設定を単に変数の値を(動的に)変化させて行うあたり。
0534名無しさん@お腹いっぱい。
2015/03/04(水) 14:08:18.61仕方無いとはいえ、ちょっと歴史の重荷になってきた感はありますね。
0535名無しさん@お腹いっぱい。
2015/03/04(水) 14:09:54.83これはなんで実装されないとか理由あったっけ?
手続き言語的な書き方促進しちゃってる理由の1つだよなーとは思う。
0536名無しさん@お腹いっぱい。
2015/03/04(水) 14:13:13.02とりあえずすぐじゃないし、困ったことはないな
0537名無しさん@お腹いっぱい。
2015/03/04(水) 14:13:34.39準公式そびえ立つ糞の山とそれに対する反論
0538名無しさん@お腹いっぱい。
2015/03/04(水) 14:14:20.49他には?
0539名無しさん@お腹いっぱい。
2015/03/04(水) 20:06:11.57CommonLipsにはある構造体が無いんでしょ?
0540名無しさん@お腹いっぱい。
2015/03/04(水) 20:43:32.63別に elisp 書きたくて emacs 使ってるわけでもないからどうでもいいけど。
これでシステムアプリ書けとか言われたら退職待ったなしだが。
vim は vimscript だけじゃなく ruby だの lua だの使えていいやねえ。
0541名無しさん@お腹いっぱい。
2015/03/04(水) 21:15:01.34理屈ばっかり先行して実務にはまったく役に立たない言語だよね
0542名無しさん@お腹いっぱい。
2015/03/04(水) 21:18:22.19lisp じゃなくても問題ないと思ってる人たちが Atom とか作ってるんだと思うよ。
0543名無しさん@お腹いっぱい。
2015/03/04(水) 23:06:50.69setq と何が違ってくるんですか?
0544名無しさん@お腹いっぱい。
2015/03/04(水) 23:18:26.36clにdefstructがあるけど、それじゃ駄目なのか?
0545名無しさん@お腹いっぱい。
2015/03/05(木) 00:29:56.33defcustomで指定した変数の依存関係とかセット時に動かしたい関数を起動するとかそういうのが行われるのがcustom-set-variables
ただ大抵の場合はsetqで問題ない
custom-set-variablesで検索すると真逆のタイトルの記事がトップに出てくるってのもすげえな
custom-set-variables は使わない方が良いかもしれない
http://d.hatena.ne.jp/a_bicky/20131230/1388396559
defcustomで定義された変数はsetqではなくcustom-set-variablesで設定すべき理由
http://kawamuray.hatenablog.com/entry/2013/11/03/180543
0546名無しさん@お腹いっぱい。
2015/03/05(木) 00:42:08.98とっととemacs捨てろよw
0547名無しさん@お腹いっぱい。
2015/03/05(木) 00:45:55.25実際捨ててる人が増えてるからユーザ減ってるんだろね。
若い人はみんなvimだし。
0548名無しさん@お腹いっぱい。
2015/03/05(木) 00:59:55.15日本語書きづらいのが致命的で移行できない
0549名無しさん@お腹いっぱい。
2015/03/05(木) 01:11:38.53もしvimを使ってたら…いや考えるのはやめておこう
0550名無しさん@お腹いっぱい。
2015/03/05(木) 01:26:24.18evilが人気出るのもわかる
プラットホームとしてのemacsは捨てがたいがvimの編集能力は欲しい
0551名無しさん@お腹いっぱい。
2015/03/05(木) 03:54:24.170552名無しさん@お腹いっぱい。
2015/03/05(木) 10:25:46.510553名無しさん@お腹いっぱい。
2015/03/05(木) 11:22:20.08便利そうだけど調べるのも面倒
0554名無しさん@お腹いっぱい。
2015/03/05(木) 12:16:05.790555名無しさん@お腹いっぱい。
2015/03/05(木) 16:27:05.18自分で修正・維持するのが大変なんだよね。
org はキーを割り当て過ぎて、Emacs ではなくなっている気がする。
操作に関しては ido (bufferのみ) + minibuf-isearch ベース。
0556名無しさん@お腹いっぱい。
2015/03/05(木) 17:22:36.51ESSだけでも十二分にEmacsを使う理由になるが。
あと、yatexはやめられない。他のエディタだと無理。
0557名無しさん@お腹いっぱい。
2015/03/05(木) 17:33:29.66SLIME?
0558名無しさん@お腹いっぱい。
2015/03/05(木) 17:43:22.63evil試しに使ってみたけどかなりいいな
これでemacsの環境とvimの編集能力の両方得られるんじゃないのかね
evilバリバリ使ってる人の感想が聞きたいな
0559名無しさん@お腹いっぱい。
2015/03/05(木) 22:14:11.00vimscript 読めるようになったら完璧だな。
0560名無しさん@お腹いっぱい。
2015/03/05(木) 22:15:57.160561名無しさん@お腹いっぱい。
2015/03/05(木) 22:26:57.160562名無しさん@お腹いっぱい。
2015/03/05(木) 22:34:29.590563名無しさん@お腹いっぱい。
2015/03/05(木) 23:06:26.01それはそれとして、このプログラマーは何のエディタ使ってるの?っての方が調べやすそうだな
0564名無しさん@お腹いっぱい。
2015/03/06(金) 08:26:42.75https://twitter.com/ahash/status/388199880084058112
FF7の開発にはEmacsとLispが使われていたそうだ。
0565名無しさん@お腹いっぱい。
2015/03/06(金) 08:41:35.91これな
http://d.hatena.ne.jp/shi3z/20140123/1390429115
0566名無しさん@お腹いっぱい。
2015/03/06(金) 10:44:29.270567名無しさん@お腹いっぱい。
2015/03/06(金) 11:07:27.55FF7とかクラッシュバンデグー以外にサンプルある?
0568名無しさん@お腹いっぱい。
2015/03/06(金) 11:13:37.64>>565にあるけどUncharted
0569名無しさん@お腹いっぱい。
2015/03/06(金) 11:58:07.52命令 引き数1 引き数2 ...
ってのを延々書き並べて行くけど、その内ifが欲しくなってきて実装してる内に
あれ?これLispじゃね?って事になるんだと思われる
基本的にスクリプトで完全にプログラムをするわけじゃない所から出発してるから
Lispで必要十分なんだよな
0570名無しさん@お腹いっぱい。
2015/03/06(金) 11:59:57.82いやその解説いみわからん
命令列挙してるのがlispだと思ってんの…?
0571名無しさん@お腹いっぱい。
2015/03/06(金) 12:13:11.30随分理解力が無いというか視野が狭いな…
命令を列挙してるのがLispなんて言ってないよ
0572名無しさん@お腹いっぱい。
2015/03/06(金) 12:31:51.92理解力低いんでもうちょっと詳しく書いてくれませんかね?
この程度の内容なら非力なlisp程度で大丈夫だろ、みたいに書いてあるようにしか取れないので!
0573名無しさん@お腹いっぱい。
2015/03/06(金) 12:42:41.31上の解説記事見る限りじゃそんなこと書いてなくね?
0574名無しさん@お腹いっぱい。
2015/03/06(金) 12:45:29.39敵キャラスクリプトの例
(move A)
(move_if_search B C D)
↑
これ見てLispっぽいと思うのが間違いって事をいってんのか?
LispではCやC++と比較して実用的なプログラムを組むのが困難という事実を言っている
ゲームはグラフィックやネットワークなどの処理をCで実装されたAPIを駆使して
実装しないといけないけど、Lispの方が向いてるといいたいのか?
0575名無しさん@お腹いっぱい。
2015/03/06(金) 13:04:36.20> (move_if_search B C D)
ちなみにLispっぽく書くなら
(if (search B) (move C) (move D))
と書くべきだが、スクリプトの実装がショボイうちはmove_if_searchのように1命令にせざるを得ない
で山のように専用命令が増えて、ちゃんとLispを実装しようと思うようになる
>>569にはそういう流れを含んでいたんだ
0576名無しさん@お腹いっぱい。
2015/03/06(金) 13:19:35.98括弧ついてりゃlispかよ、おめでてーな
そんな用途なら
move A
move_if_search B C D
で十分だろハゲ
で、どこがlispなんですか??
elispしか知らないくせにlisp知った気になってんじゃねーぞハゲ
0577名無しさん@お腹いっぱい。
2015/03/06(金) 13:29:11.95もちろん>>574のレベルだとLispとは言えないし言ってもいない(スクリプトと言っている)
>>575で言ってるが
(if (search B) (move C) (move D))
まで出来ればLisp「っぽく」なる
0578名無しさん@お腹いっぱい。
2015/03/06(金) 13:34:58.99if (search B)
move C
else
move D
これとどうちがうんですかー?
0579名無しさん@お腹いっぱい。
2015/03/06(金) 13:36:35.35> ってのを延々書き並べて行くけど、その内ifが欲しくなってきて実装してる内に
> あれ?これLispじゃね?って事になるんだと思われる
この流れでどこで「あれ?これLispじゃね?」ってなるのか説明はよせいや
命令列挙してif文あったらlispなのかよハゲ
0580名無しさん@お腹いっぱい。
2015/03/06(金) 13:37:23.52if (search B)
move C
else
move D
をLispっぽく書くとどうなるの?
Lispじゃ書けないの?
0581名無しさん@お腹いっぱい。
2015/03/06(金) 13:38:41.35じゃぁLispは命令を列挙できなくてif文があってはいけないのか?
0582名無しさん@お腹いっぱい。
2015/03/06(金) 13:39:25.77論点すりかえんなや
そんなどんな言語でも書ける内容から「なんでLispじゃね?」ってなるのか聞いてんだよハゲ
0583名無しさん@お腹いっぱい。
2015/03/06(金) 13:41:13.50> ってのを延々書き並べて行くけど、その内ifが欲しくなってきて実装してる内に
この内容から
> あれ?これLispじゃね?って事になるんだと思われる
ってなるのはなんでなんだって聞いてるんだが?
お前の拙い脳みその中でどういう論理の飛躍があってLispじゃね?ってなるわけ?
0584名無しさん@お腹いっぱい。
2015/03/06(金) 13:42:06.28すり替えてるのはそっちだ
(move C)
(if (search B) (move C) (move D))
これがLispじゃないってのはどんな根拠で言ってんの?
Lispと言っていけない理由を教えてくれ
0585名無しさん@お腹いっぱい。
2015/03/06(金) 13:42:18.13君は黙ってた方がいい
0586名無しさん@お腹いっぱい。
2015/03/06(金) 13:44:06.58だーかーらー
馬鹿なの?死ぬの?
> (move C)
> (if (search B) (move C) (move D))
これがlispじゃないなんてひとっっっことも言ってない
なんでその程度の内容でlispを選ぶんだ?って言ってんだよ
はやく>>583に答えろよハゲ
0587名無しさん@お腹いっぱい。
2015/03/06(金) 13:45:05.04(if (search B) (move C) (move D))
⊂ Lisp
だからLispじゃね?って言ってるんだ
move(c)
if (search B)
move C
else
move D
をあれCじゃね?って言っておかしい事言ってるか?
0588名無しさん@お腹いっぱい。
2015/03/06(金) 13:46:21.15> これがlispじゃないなんてひとっっっことも言ってない
じゃぁこれが結論、おしまい
0589名無しさん@お腹いっぱい。
2015/03/06(金) 13:49:34.38いいか?
>>569
> 命令 引き数1 引き数2 ...
> ってのを延々書き並べて行くけど
ってのがなんではじめから
> (move C)
> (if (search B) (move C) (move D))
になってる前提なんだよボケ
最初に括弧書いてたらlispにする気満々だろうがボケ
なにが
> あれ?これLispじゃね?って事になるんだと思われる
だよ
命令の列挙とif文程度の記述レベルで「そうだ!lispにしよう」なんて考えるボケはいねえよ
0590名無しさん@お腹いっぱい。
2015/03/06(金) 13:50:20.79誰が何を主張してるのかよくわからん
0591名無しさん@お腹いっぱい。
2015/03/06(金) 13:53:17.87elisp による lisp への風評被害ってやつだね。
基本的にスクリプトで完全にプログラムをするわけじゃない、って言葉もよくよく考えてみるとおかしいね。
0592名無しさん@お腹いっぱい。
2015/03/06(金) 13:54:37.14> 命令 引き数1 引き数2 ...
これはスクリプトと言っている
> (move C)
> (if (search B) (move C) (move D))
これはLispだよ
> 命令の列挙とif文程度の記述レベルで「そうだ!lispにしよう」なんて考えるボケはいねえよ
それはお前の主観だ
それにどうこう言う気はない
実際にLispを実装したら「命令の列挙とif文」は簡単に使えるわけだけど、
それを否定する根拠を教えてくれ
0593名無しさん@お腹いっぱい。
2015/03/06(金) 13:56:59.76> 基本的にスクリプトで完全にプログラム
これは
基本的にスクリプトでゲームを全部プログラム
って書けばよかったか
0594名無しさん@お腹いっぱい。
2015/03/06(金) 14:00:41.50俺ずーーーーっと
> 命令 引き数1 引き数2 ...
の繰り返しに if 文実装した程度のからなんで lisp にしようって発想がでるの???って聞いてるんだけどなぁ
> 実際にLispを実装したら「命令の列挙とif文」は簡単に使えるわけだけど、
「命令の列挙とif文」を簡単に使えない言語探すほうが難しいんですけど????
しつこいようだけど
なんでそれだけの要素から lisp を選択することになんの?
なんでそこでで C を選ばない?他にも lua だの mruby だの組み込み用にもっと便利なのいっぱいあるよね?
で >>570 になるわけなんだけど
お前にとっての lisp は命令列挙と if 文なのかって聞いてんだよハゲ
0595名無しさん@お腹いっぱい。
2015/03/06(金) 14:07:54.42http://www.slideshare.net/naughty_dog/statebased-scripting-in-uncharted-2-among-thieves
とか見る限りではそんな単純な理由では lisp を選んでいないことはわかるね・・・
0596名無しさん@お腹いっぱい。
2015/03/06(金) 14:12:50.27> なんでそこでで C を選ばない?他にも lua だの mruby だの組み込み用にもっと便利なのいっぱいあるよね?
逆になんでLispじゃ駄目なの?
> 命令 引き数1 引き数2 ...
move A
move_if_search B C D
スクリプトはこんなレベルのものをいうんだけど、これは否定しないという事でいいのか?
で、Lispを実装すれば
> (move C)
> (if (search B) (move C) (move D))
と当然書けるようになって
(しかしゲーム全部をLispで書くわけじゃない)
これが>>569で言ったことだ
で、これでなんで自分にとってのLispだのmrubyだのが出てくるんだ?
0597名無しさん@お腹いっぱい。
2015/03/06(金) 14:18:22.2442ページに理由が書いてあるけど、単に括弧が使いたかっただけっぽいな
0598名無しさん@お腹いっぱい。
2015/03/06(金) 14:21:39.63あと63ページを見ても分かるけど、やっぱり
(go "state-name")
って書きたいんだよね
実際は[go "opening"]ってなってて純粋なLispじゃないけど
0599名無しさん@お腹いっぱい。
2015/03/06(金) 14:22:20.90> 逆になんでLispじゃ駄目なの?
誰がダメっていった?
な・ん・で・Lisp を選んだの????ってずーっと俺は聞いてるんだけど!!!!!
その程度の内容、Lisp じゃないと出来ないことでもなんでもないよね???言ってる意味わかる?
> で、Lispを実装すれば
>> (move C)
>> (if (search B) (move C) (move D))
> と当然書けるようになって
だからーーーーー
それ lisp じゃなくても出来るよね???ってずっと言ってるんだけど!
そもそも最初のスクリプトだかなんだかわからんやつから lisp に置き換える意味あんの??
お前の話だと命令列挙してたらif文実装する必要がでてきて、ここまできたらこれlispじゃん!って言ってるようにしか見えないんだが
お前の中じゃ命令列挙と if あったら lisp なのかって聞いてるんだが!
そんなバッチファイルでも出来るような内容からな・ん・で・Lisp を選ぶことになんの????
0600名無しさん@お腹いっぱい。
2015/03/06(金) 14:26:36.01ffi が実装されたら emacs に組み込みたいなぁ。
0601名無しさん@お腹いっぱい。
2015/03/06(金) 14:30:37.45会社でlisp採用してくれとか言われたら村八分にされそう
0602名無しさん@お腹いっぱい。
2015/03/06(金) 14:34:03.45再帰とかクロージャとかバリバリ使うスクリプトなんだよとか言って謝っとけ
0603名無しさん@お腹いっぱい。
2015/03/06(金) 14:35:23.47お前は少し冷静になれ
そんな!!!列挙していう事じゃないだろ…
> 誰がダメっていった?
とりあえずLispでもいいってことだな
> それ lisp じゃなくても出来るよね???ってずっと言ってるんだけど!
それがおかしいな
出来るよね?って言われてもそうだねとしか言えない
> お前の話だと命令列挙してたらif文実装する必要がでてきて、ここまできたらこれlispじゃん!って言ってるようにしか見えないんだが
Lispじゃん!とは言ってない
Lisp(が実装すべき言語)じゃね?といっている
スクリプト=Lispとも言ってない
あくまでも、実装すべき言語がLispじゃね?と言ってるんだ
> そんなバッチファイルでも出来るような内容からな・ん・で・Lisp を選ぶことになんの????
なんでバッチファイルが出てくるんだ?
Lispを選ぶ理由は
> (move C)
> (if (search B) (move C) (move D))
が出来るようになるからだ
というと、BASICでも出来る事をなんでBASICで書かないんだって言うだろ…
0604名無しさん@お腹いっぱい。
2015/03/06(金) 14:39:52.26答えになってなくね?
> あくまでも、実装すべき言語がLispじゃね?と言ってるんだ
これはなぜそう思うの?
べき、って言うからにはLispを選んだ理由があるんだろうけど。
0605名無しさん@お腹いっぱい。
2015/03/06(金) 14:42:31.76move A
move_if_search B C D
のmove_if_searchみたいな命令が山のように作る必要が出てくるからLispを実装すれば
(if (search B) (move C) (move D))
と書けるようになる(なりたい)からだ
0606名無しさん@お腹いっぱい。
2015/03/06(金) 14:44:36.16お前が日本語理解しないからイライラMAXなんだよボケ!!!!!!!!!!!!!
> Lispを選ぶ理由は
>> (move C)
>> (if (search B) (move C) (move D))
> が出来るようになるからだ
アホなの?ねえアホなの?
> Lispを選ぶ理由は
>> (move C)
>> (if (search B) (move C) (move D))
> が出来るようになるからだ
> というと、BASICでも出来る事をなんでBASICで書かないんだって言うだろ…
あったりまえだ
そこでなんで数多の言語のなかから Lisp を選んだんだって聞いてんだボケが
命令列挙とif文以外に lisp を選んだ要因はなんだってきいてんだつうのボケが!
それが無いんならお前の中の lisp は命令列挙とif文しかねえってことになるっつってんだよボケが!!
0607名無しさん@お腹いっぱい。
2015/03/06(金) 14:47:06.34ワンライナーで書きたいってこと?
山のように書くならそれこそ括弧邪魔じゃない?
0608名無しさん@お腹いっぱい。
2015/03/06(金) 14:48:03.78それ lisp じゃなくてもいいよね…
0609名無しさん@お腹いっぱい。
2015/03/06(金) 14:52:56.870610名無しさん@お腹いっぱい。
2015/03/06(金) 14:54:38.30> それが無いんならお前の中の lisp は命令列挙とif文しかねえってことになるっつってんだよボケが!!
それはお前がLispでスクリプトを書いた事が無いから、そう思うんだろうな
とりあえず同じことをしてから問題点を言ってくれよ
Lispの「根本的」な利点に
(命令 データ)
データ自体がさらに別の(命令 データ)を含められる
っていうのがある
(if (search B) (move C) (move D)) ← これの事ね
フォーマットが一貫している
これが利点じゃないと思ってるのがお前のそもそも間違いだよ
とりあえず
(命令 (命令 (命令 データ)))
みたいに書けることが利点じゃなくLispを選ぶ理由にならない理由を教えてくれよ
0611名無しさん@お腹いっぱい。
2015/03/06(金) 14:54:51.42だからゲームの開発に LISP が使われることもある。」
言いたいことはこれなんかな。
■ このスレッドは過去ログ倉庫に格納されています