LISPって実際どうなの... [無断転載禁止]©2ch.net (112レス)
LISPって実際どうなの... [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1451131702/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [] 2015/12/26(土) 21:08:22.74 ID:4MtdCfLl ポールグレアムがLISPをメッチャ推してるから今独学でやってるんだけど、やってる人が少ないからか参考書も少ないし正直javaとかのほうがいいんじゃないかと悩んでるんだが実際どうなん... http://mevius.5ch.net/test/read.cgi/tech/1451131702/1
88: デフォルトの名無しさん [sage] 2018/12/08(土) 12:27:02.72 ID:KVgBfK85 ここ1、2年でLISP関連の書き込みはめっきり減ったな はちみつしかいないよ http://mevius.5ch.net/test/read.cgi/tech/1451131702/88
89: デフォルトの名無しさん [sage] 2018/12/08(土) 16:59:17.62 ID:ag0JcdkU >>87 > LISPなのLispなの、どっちなの まあ好きに使えば良いので決まりはない 常識的に言えば、現在はLisp 全部大文字のLISPは昔のLispのイメージだね というのも1970年代はプリンタで小文字が出せないのは普通だったからアルファベットは大文字のみ なので言語名も大文字と数字や限られた特殊記号のみ というわけで、古くからある言語の当時のバージョン(例えば LISP 1.5 とか FORTRAN 77 とか)を強調したいとか「昔感」を強調したい場合は 全部大文字の言語名、LISP, FORTRAN, COBOL, ALGOL を使えば良い そうでない場合(や当時のバージョンということを強調する意図がない場合)には、現代式の小文字を使った Lisp, Fortran, Cobol 等を使えば良い http://mevius.5ch.net/test/read.cgi/tech/1451131702/89
90: デフォルトの名無しさん [sage] 2018/12/16(日) 17:09:53.21 ID:lVg1cTYK >>89 なるほど〜! すごく勉強になりました。 ご回答ありがとうございます! http://mevius.5ch.net/test/read.cgi/tech/1451131702/90
91: デフォルトの名無しさん [] 2019/11/23(土) 04:46:01.54 ID:l4WHmfnE 並列化はどうなっているの?OpenMPとかのディレクティブをつかうの? プロセス並列化はMPI? http://mevius.5ch.net/test/read.cgi/tech/1451131702/91
92: デフォルトの名無しさん [] 2020/11/24(火) 15:18:15.99 ID:nO0Ar+PL はい http://mevius.5ch.net/test/read.cgi/tech/1451131702/92
93: (u_・y) ◆e6.oHu1j.o [] 2020/11/24(火) 15:45:26.70 ID:gfNKbZsO >>89 (u_・y)えっほんとに? (u_・y)適当な事言ってない? (u_・y)ジョンマッカーシーさんがミックストケースで書いた事はある? (u_・y)ソース持ってきて? http://mevius.5ch.net/test/read.cgi/tech/1451131702/93
94: (u_・y) ◆e6.oHu1j.o [sage] 2020/11/24(火) 15:55:54.53 ID:gfNKbZsO (u_・y)>>86 uyという概念は常に宇宙とともに存在する (u_・y)>86 お前がどこで何をしているか手にとるように分かるぞ (u_・y)>86 「www」とあえて3つのダブリューを書いたのは (u_・y)>86 自己承認欲求の現れだ (u_・y)>>86 「w」これは自己肯定をしたい者 (u_・y)>86 「ww」これは1人の親しい友に認められたい者 (u_・y)>86 「www」これは2人以上の多くの人間に認められたい者 (u_・y)>86 お前は今、uyという仮想空間上の共通敵を叩く事により、大勢からの承認を得たいと考えている者だ (u_・y)>>86 w (u_・y)>>86 現実世界で得られない承認を・・・ネットで満たそうとしてるんだな・・・ http://mevius.5ch.net/test/read.cgi/tech/1451131702/94
95: デフォルトの名無しさん [sage] 2020/11/25(水) 17:29:16.86 ID:NHQccPME >>94 とりあえずこのスレ盛り上げて http://mevius.5ch.net/test/read.cgi/tech/1451131702/95
96: デフォルトの名無しさん [sage] 2021/01/15(金) 13:03:49.25 ID:XkGM5v4E 使えるようになるのは修羅の道だけどとりあえず入門コースやるのはマトモなプログラマの必修科目 http://mevius.5ch.net/test/read.cgi/tech/1451131702/96
97: デフォルトの名無しさん [sage] 2021/09/04(土) 14:56:17.80 ID:DQYaENlA >>48 > Emacs Lisp も簡単なものならば書けるようになってきました。でも階層構造さえ無しで > 多数のグローバル変数を憶えなければならないのは古臭い言語だと感じます。 超亀レスだが elispは動的束縛なのでletで同名変数を宣言すれば大域変数は隠され影響範囲が限定され キーボード割り込みで大域脱出した時もunwind-protectで元に戻す必要はない というUI記述言語として極めて良好な性質を持ってる http://mevius.5ch.net/test/read.cgi/tech/1451131702/97
98: デフォルトの名無しさん [sage] 2021/09/04(土) 17:04:32.79 ID:Q9qQqykt >>97 それは動的束縛とは関係無い defvarで定義された変数はスペシャル変数といって、letで束縛するとそういう挙動になるというだけだ setqで(無理矢理)定義したグローバル変数はそうならない ちなみに今のelispは静的束縛が実装されて、全てそれを使うようになっている ただ、互換性を保つためにまだデフォルトにはなってないけど、時間の問題だろう http://mevius.5ch.net/test/read.cgi/tech/1451131702/98
99: デフォルトの名無しさん [sage] 2021/09/04(土) 18:08:18.70 ID:jSSzYM7r スペシャル変数は動的束縛なんだから関係あるだろ 静的束縛では外から変数を注入するようなことは難しいし 自由変数をつかったら中断時に値を元に戻すにはunwind-protectのような機構が必要だって話 http://mevius.5ch.net/test/read.cgi/tech/1451131702/99
100: デフォルトの名無しさん [sage] 2021/09/04(土) 22:48:02.97 ID:uKq8oRZn >>99 いや違う スペシャル変数のその挙動は、elispが動的束縛だったときと、静的束縛の時で何も変わってない 要するに、単にそういう機能が実装されてるというだけ http://mevius.5ch.net/test/read.cgi/tech/1451131702/100
101: デフォルトの名無しさん [sage] 2021/09/07(火) 20:48:08.70 ID:8Gi3qZOZ >>98 > defvarで定義された変数はスペシャル変数といって、letで束縛するとそういう挙動になるというだけだ > setqで(無理矢理)定義したグローバル変数はそうならない Elispの話じゃないじゃないか http://mevius.5ch.net/test/read.cgi/tech/1451131702/101
102: デフォルトの名無しさん [sage] 2021/09/08(水) 23:03:47.01 ID:Z7F+3Q5J おそらく 98 100 は 97 の 「キーボード割り込みで大域脱出した時も…UI記述言語として極めて良好な性質を持ってる」 という内容を解釈することもなくletで束縛した変数のシャドウイングについてはスペシャルでもレキシカルでも挙動に変化はないと言いたいのだろう 大域脱出やunwind-protectの話をしているのであさっての主張なんだが 何がどう関係ないのか次はコードで例示してくれ http://mevius.5ch.net/test/read.cgi/tech/1451131702/102
103: デフォルトの名無しさん [sage] 2021/09/09(木) 23:10:01.54 ID:ByNHohVX >>97 elispはバッファーローカル変数も興味深い スレッドローカル変数と意味論的にも近く マルチバッファーセーフ←→マルチスレッドセーフ という対比ができる 凄くシンプルな設計と実装で上手くこなしてる standard-outputやnilストリームの使い方も上手い http://mevius.5ch.net/test/read.cgi/tech/1451131702/103
104: デフォルトの名無しさん [sage] 2021/09/10(金) 16:13:07.64 ID:y2IogSqT --- test-global-variable.el --- ;;; -*- lexical-binding: t; -*- (defvar foo "foo") (defun print-foo () (print foo)) (let ((foo "FOO")) (print-foo)) (print-foo) (setq bar "bar") (defun print-bar () (print bar)) (let ((bar "BAR")) (print-bar)) (print-bar) -------------------------------- 続く http://mevius.5ch.net/test/read.cgi/tech/1451131702/104
105: デフォルトの名無しさん [sage] 2021/09/10(金) 16:14:14.79 ID:y2IogSqT -*- lexical-binding: t; -*-の有無で静的束縛を有効無効に出来るけど、 ↓有りの場合 $ emacs --script test-global-variable.el "FOO" "foo" "bar" "bar" ↓無しの場合 $ emacs --script test-global-variable.el "FOO" "foo" "BAR" "bar" 1つ嘘ついたか…動的束縛の場合は、setqで作ったグローバル変数もスペシャル変数になるようだ しかし、スペシャル変数のletで束縛する挙動は静的動的束縛に関係無く同じ挙動だ それが言いたかっただけ http://mevius.5ch.net/test/read.cgi/tech/1451131702/105
106: デフォルトの名無しさん [sage] 2021/09/10(金) 16:22:31.87 ID:y2IogSqT >>103 バッファローカル変数は、他の言語で言うインスタンス変数と役割は同じだな 例えば、buffer-file-nameはバッファローカル変数で、バッファ毎に違う値になるけど、 本来ならばbuffer.file-nameのように、作成したインスタンス変数内(この例ではbuffer)に有るべきだけど、 Emacsはオブジェクト指向を採用しなかったので、グローバル変数をバッファー毎に違う値にする為に、苦肉の策と言えなくもない LispでもCLOSのようなオブジェクト指向を全面的に採用していれば、バッファローカル変数の仕組みは必要無いものだった http://mevius.5ch.net/test/read.cgi/tech/1451131702/106
107: デフォルトの名無しさん [sage] 2021/09/10(金) 16:29:15.85 ID:y2IogSqT CLOSだと(file-name buffer)で済む所を、elispだと (with-current-buffer buffer buffer-file-name) と書く必要があって、CLOSの方がスマートだと思う 他にもelispのadviceも、CLOSのdefmethodの:before :afterを使えば似たような事ができるだろう(完全に同じじゃないけど) http://mevius.5ch.net/test/read.cgi/tech/1451131702/107
108: デフォルトの名無しさん [sage] 2021/09/11(土) 14:40:21.99 ID:WRGMhX/P >>107>>108 それじゃbufferがthisのような特殊な識別子になってるだろ http://mevius.5ch.net/test/read.cgi/tech/1451131702/108
109: デフォルトの名無しさん [sage] 2024/01/25(木) 23:01:09.63 ID:GdCzxGB4 人工知能言語として脚光を浴びた時代もありました http://mevius.5ch.net/test/read.cgi/tech/1451131702/109
110: デフォルトの名無しさん [sage] 2025/02/02(日) 07:50:12.47 ID:DG2EYWWi 全部が式だし全部がオブジェクトなので分かりやすいよね。 小さい単位で動的に書き換えていけるので開発体験が良い。 動いてるプログラムのオブジェクトをインスペクタで調べたり中身書き換えたり、デバッガ内で値差し替えてリスタートとか楽しい。 Pythonとかより遥かに動的言語してるイメージある http://mevius.5ch.net/test/read.cgi/tech/1451131702/110
111: デフォルトの名無しさん [] 2025/06/14(土) 06:59:12.29 ID:3Q/jS2n6 norvigやgrahamも言ってたが PythonはほぼほぼALGOL風味構文のlispだわ 意味論という意味で まあlispは構文の斉一性こそが大事なので半分だけ同意 http://mevius.5ch.net/test/read.cgi/tech/1451131702/111
112: デフォルトの名無しさん [] 2025/06/15(日) 01:00:42.54 ID:bHsxd1q/ Lispってまだあったのか。カァーとかクダァーとかね。 馬鹿馬鹿しいほどのかっこがあったね。今のエディタは 改善されたけど、昔は大変だった。 smalltalkとかprologはどうなったんだろ http://mevius.5ch.net/test/read.cgi/tech/1451131702/112
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s