LISPって実際どうなの... [無断転載禁止]©2ch.net (117レス)
1-

1
(3): デフォルトの名無しさん [] 2015/12/26(土)21:08 ID:4MtdCfLl(1/2)
ポールグレアムがLISPをメッチャ推してるから今独学でやってるんだけど、やってる人が少ないからか参考書も少ないし正直javaとかのほうがいいんじゃないかと悩んでるんだが実際どうなん...
18
(2): デフォルトの名無しさん [] 2015/12/27(日)12:30 ID:BwztOoZh(2/3)
>>12
lispてのは(プログラミング)言語であって
OS環境やネット環境へのアクセスは手法
その手法がlisp言語にライブラリ、または他の方法で実装されてるかで使用できるかが決まる
19
(1): デフォルトの名無しさん [] 2015/12/27(日)12:36 ID:hhr5Quu2(6/9)
>>16
javaライブラリを混ぜるってのは、リスプのコードにjavaのコードを混ぜるってこと?
20: デフォルトの名無しさん [] 2015/12/27(日)12:36 ID:hhr5Quu2(7/9)
>>17
ありがとう!
こういうのがあるのか
21
(1): デフォルトの名無しさん [] 2015/12/27(日)12:37 ID:hhr5Quu2(8/9)
>>18
へえ〜...

それで、LISP言語にはそれが実装されているんでしょうか...?
22: デフォルトの名無しさん [sage] 2015/12/27(日)12:47 ID:Zmrinoji(3/3)
>>21
ggrks
GTK+とかTkとかをバインドした奴があるらしいよ
23: デフォルトの名無しさん [] 2015/12/27(日)13:16 ID:BwztOoZh(3/3)
http://d.hatena.ne.jp/masatoi/touch/20110818/1313737503
24: デフォルトの名無しさん [] 2015/12/27(日)13:17 ID:4UF28mhH(2/3)
>>19
http://clojure.org/java_interop
25
(1): デフォルトの名無しさん [] 2015/12/27(日)13:44 ID:hhr5Quu2(9/9)
>>18
へえ〜...

それで、LISP言語にはそれが実装されているんでしょうか...?
26: デフォルトの名無しさん [] 2015/12/27(日)22:43 ID:W/VOfYcN(1)
とりあえずハノイの塔解いたら満足
27: デフォルトの名無しさん [] 2015/12/27(日)23:37 ID:4UF28mhH(3/3)
>>25
意味がわかんないからちゃんと質問まとめて
28: uy ◆Qawu9.2l1E [sage] 2015/12/28(月)02:49 ID:+FktpjIo(1/2)
情報収集能力ない奴はプログラミング向いてないからさっさと死ぬべき

あまりにガキっぽいから中高生かと思ったら大学生とか、
こういう頭の成長が遅れてる奴はいくら頑張っても技術が身につかないから
29: uy ◆Qawu9.2l1E [sage] 2015/12/28(月)02:52 ID:7qtNlkA2(1)
センス無いです
30: uy ◆Qawu9.2l1E [sage] 2015/12/28(月)13:47 ID:+FktpjIo(2/2)
>>1死ね
31: デフォルトの名無しさん [sage] 2015/12/29(火)18:04 ID:HrkcQ9Jo(1)
実用CommonLisp か Land of Lisp とか初心者でも読める本
Clojure って選択肢もいいけど
マクロ極めるならどちらにしろOn Lisp とか読まないといけないけど
32: uy ◆Qawu9.2l1E [sage] 2015/12/29(火)20:42 ID:4RcqbWns(1)
let over lambdaを読んでオブジェクト指向以外のアプローチに感付けるかどうかがすべて
33: デフォルトの名無しさん [sage] 2016/01/08(金)18:54 ID:fPOFwbHv(1)
lispを学生のうちに勉強するのはおすすめする。
なにより文法が簡単だし、実務でc とかjavaだったりしてもアルゴリズムの発想の枠が広がるからね。
jsicpで検索してみて...
mitの教科書が無料であるよ。
34: デフォルトの名無しさん [] 2016/01/10(日)14:50 ID:P3AH4KNx(1)
当然、ぽまいらemacsは使ってんだろうな?
35
(2): uy ◆Qawu9.2l1E [sage] 2016/01/13(水)15:05 ID:BhNL6rQk(1)
現状はatom一強
36: デフォルトの名無しさん [sage] 2016/01/17(日)15:39 ID:LBaM8j14(1/2)
そこでvimですよ
37: デフォルトの名無しさん [] 2016/01/17(日)15:42 ID:mCSRON/4(1)
LISPerがvimとかどうかしてる
38: デフォルトの名無しさん [sage] 2016/01/17(日)15:50 ID:LBaM8j14(2/2)
LisperがEmacs Lisp使ってます宣言するのよりマシかと

vim scriptがクズいのはさておき
39: デフォルトの名無しさん [sage] 2016/01/17(日)16:58 ID:8TKcXYcp(1)
>>35
いい紹介ページはないですか?探した範囲ではいまいちだ
40: デフォルトの名無しさん [sage] 2016/01/17(日)21:42 ID:hHJZmeSL(1)
ポールグレアムはvi
http://www.paulgraham.com/pfaq.html
41: デフォルトの名無しさん [] 2016/01/18(月)17:01 ID:xQ1VQHB9(1)
emacsは創造者
viは編集者
そんなイメージがある
42: デフォルトの名無しさん [sage] 2016/01/19(火)00:02 ID:Xdnj5x+8(1/2)
今更emacs viとかやってるこのスレは駄目だと思う
特にemacsの存在はほんと残念だわ
RMS早く死なねーかなー
43: デフォルトの名無しさん [sage] 2016/01/19(火)02:26 ID:Rp3W1lHF(1)
それはRMSが死んでもどうもならんのでは
44: デフォルトの名無しさん [sage] 2016/01/19(火)09:56 ID:P1UEcZh1(1)
Emacs捨てたくなるようなものを開発すればいい
45
(1): デフォルトの名無しさん [sage] 2016/01/19(火)23:55 ID:Xdnj5x+8(2/2)
Eclipseがそうだったのかな・・・
RMS界隈はほんど残念だわ
46: デフォルトの名無しさん [sage] 2016/01/20(水)00:49 ID:2qzza1/M(1)
>>45
おまえに関係ない
自分も使いたいもの使ってくれ
47: デフォルトの名無しさん [] 2016/01/22(金)21:42 ID:uxMuX/y7(1/2)
一ヶ月前に Lisp に目覚めました。

Haskell や O'Caml があるのだから、いまさら Lisp に手を出すべきではないと思って
いました。

でも Emacs Lisp を書く必要に迫られました。とりあえず「((Pythonで)書く (Lisp)イ
ンタプリタ);;http://www.aoky.net/articles/peter_norvig/lispy.htm」が面白そうだ
と読み始めました。引き込まれました。三時間で一気に読みました。久しぶりにコン
ピュータ関連の論文で感動しました。

Lisp の関数 S 式は λ 関数そのものだと分かりました。Lisp の実装が如何に簡単にで
きるかを理解できました。

未だに Lisp が大学で教えられ、天才的な頭脳の方たちが Lisp を賞賛し続けているの
は、実際に動く λ 関数を簡単に実装できることにあると思います。
48
(2): デフォルトの名無しさん [] 2016/01/22(金)21:42 ID:uxMuX/y7(2/2)
しかし一ヶ月と少したった今、Lisp は関数プログラミングの明晰性を犠牲にしていると
考え出しています。Python のほうが、より明晰な関数プログラミング・スタイルで書け
ると考え始めました。

Emacs Lisp も簡単なものならば書けるようになってきました。でも階層構造さえ無しで
多数のグローバル変数を憶えなければならないのは古臭い言語だと感じます。

Lisp のを高機能にできる秘密はマクロにあるのだろうと思い出しました。自己書き換え
プログラムさえ書け、新たな構文を作り出せてしまうのですから。でも、このような
lisp macro は人智で制御できない領域に簡単に踏み込んでしまう地雷でもあります。こ
んな lisp macro に依存している lisp と そのライブラリには近づかないほうが良いと
考え出しています。

普通のプログラムを書くのならば Python の方が、関数プログラムなら Haskell のほう
がマシだと考え始めています。私の推測は誤っているでしょうか?
49: デフォルトの名無しさん [sage] 2016/01/22(金)22:11 ID:d8M8QDrI(1)
このスレには近づかないほうが良いな
50
(1): デフォルトの名無しさん [] 2016/01/23(土)03:02 ID:FFMD2tda(1)
自己書き換えプログラムってどういう意味で使ってるの?
人智で制御出来ないって何を怖がってるの?
なんか叙情的っていうか論理的じゃない文章
51: デフォルトの名無しさん [] 2016/01/24(日)23:54 ID:YlUheVzc(1)
>>50
Lispを齧り初めて、全能感を感じた奴が大抵陥る熱病みたいなもん。
52: デフォルトの名無しさん [sage] 2016/01/25(月)15:44 ID:u5H64Vmc(1)
emacsでlispを書くのはparedit-modeが便利という一点
53: デフォルトの名無しさん [sage] 2016/01/30(土)03:18 ID:/yL7/idn(1)
>>1
ブレブレミーハータイプ
結局なにも身に付かない
54: デフォルトの名無しさん [sage] 2016/01/31(日)10:12 ID:2lMtsceY(1)
LISPerねぇ…
55: デフォルトの名無しさん [sage] 2016/01/31(日)14:32 ID:nkqZ2rBB(1)
多い日も安心
56: デフォルトの名無しさん [sage] 2016/01/31(日)22:43 ID:qEntIMIg(1)
阿澄佳奈
57: デフォルトの名無しさん [] 2016/02/01(月)10:44 ID:ZwVHcnBv(1)
すぐには役に立たないが後で振り返ってみるとやっててよかった、になると思う>>LISP
武道でいう「型」みたいなノリだな
58: デフォルトの名無しさん [] 2016/02/05(金)07:59 ID:6t6ADPrg(1)
武道もLISPも知らないくせにその例えはどうかとw
59
(1): 電波いっぱい [sage] 2016/02/09(火)22:07 ID:jMsR+HI1(1)
>>48
ここでの LISP というのはCommon Lisp(CL)のことだと思われるので、そうだとして話をする。
CLはマルチパラダイム言語なので、CLの情報を探して関数型言語の勉強をするのには向かない。ほとんど手続き型の書き方をしているものもあるし、関数型らしく書いたのもあるし、DSLバリバリで宣言的に書いたのもある。

本当に自由なので、書きたいように書ける反面、どのように書きたいかわからない人にはどう書いたらいいかわからない。

エコシステムもあまり整備されているとは言えないから、実用的な物を作ろうとしても、なかなか情報に出会えない。

一通りいろいろなパラダイムに触れてどこかでで行き詰まりを感じたら戻ってみるといいことあるかもね。
60: デフォルトの名無しさん [sage] 2016/02/09(火)23:19 ID:wLcnim+T(1)
>>59
LISP系言語で関数プログラミングをやりたいのならSchemeを使うのが良い
61: デフォルトの名無しさん [] 2016/02/26(金)18:46 ID:AKtOFowY(1)
なんかこのスレはてなブックマーク臭くてキモい
62: デフォルトの名無しさん [] 2016/03/31(木)21:46 ID:ITnJ0pB2(1)
Common Lispで何か作りたいなら,
まず適当な軽めの入門書をやった後,最近でたApressのCommon Lisp Recipesをリファレンスにするのがいいと思ふ.

GUIとかWEBとか,ライブラリの使い方もだいたい書いてある.
63: デフォルトの名無しさん [sage] 2016/04/02(土)05:23 ID:HVYESdUP(1)
武道もLISPも知らないが阿澄佳奈は知ってる
64: デフォルトの名無しさん [] 2016/05/01(日)16:08 ID:tKi6j9CT(1)
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw

The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
13
65: デフォルトの名無しさん [] 2016/05/04(水)14:47 ID:70a3g/qK(1)
Lispのmacroは凄いのかもしれないが
それを使う場面ってそんなにない
そのため他の言語を使うのが正解
66: デフォルトの名無しさん [sage] 2016/12/22(木)19:17 ID:E6IX4Vbz(1)
わからないけど間違ってる!
こうですね
67: デフォルトの名無しさん [sage] 2016/12/27(火)19:58 ID:tyJ7Gcdt(1)
RustとかJuliaとか、最近マクロ流行ってきてるよね
68: デフォルトの名無しさん [] 2017/01/02(月)17:04 ID:h7hZD8W/(1/2)
今後どんな言語が現れようが、真のマクロはLispにしかないし
真のマクロを持っているならそれはLispなのです
69: デフォルトの名無しさん [sage] 2017/01/02(月)18:28 ID:1m/cK6rN(1)
それって
構文木を直接いじれる言語は全て lisp ですって言ってるようなもんだけど
いいのかね。
70: デフォルトの名無しさん [] 2017/01/02(月)19:26 ID:h7hZD8W/(2/2)
もちろんです
71
(1): デフォルトの名無しさん [sage] 2017/01/03(火)16:37 ID:bj+lJcSh(1)
S式の良いところに編集のやり安さがあると思う
pareditみたいな感覚でソースコードいじるには、カッコがどうしても必要
72: デフォルトの名無しさん [sage] 2017/01/04(水)10:14 ID:Fdq9YuTD(1)
>>71
forthみたいに後置にすれば括弧無くてもなんとかなるよ。
73: デフォルトの名無しさん [sage] 2017/01/04(水)11:16 ID:0ISnzSv/(1)
LISP
(+ 1 2 3 4 5)
FORTH
1 2 3 4 5 + + + +
LISPは括弧を数えるのが面倒
FORTHは演算子を数えるのが面倒

もっとも上のLISPの書き方はプリミティブでない実装の場合があるから
FORTHでも楽になる構文糖衣があるのかもしれないけど
74: デフォルトの名無しさん [] 2017/01/04(水)11:22 ID:ws9aPhGs(1)
>>1
自分でemacs入れて試してみればええやん
なんなん?
75: デフォルトの名無しさん [sage] 2017/01/05(木)14:37 ID:IoFQoH8y(1)
FORTHのコンパイラいじれる感じはマクロに近いものを感じる
後置や前置で騒がれるけど触ってみるとおかしいのはそこじゃない、という点でFORTHとLISPは似ている
76
(1): デフォルトの名無しさん [sage] 2017/06/22(木)20:42 ID:uZsOvB/x(1)
LISPを学ぶ最善の方法、
それはCのようなGC機能の無い言語で、
GC付きのLISPを実装して見ることだな。
77
(1): デフォルトの名無しさん [sage] 2018/02/20(火)01:45 ID:KbMgozGm(1)
それはLISPじゃなくて処理系実装の勉強方法だろ
LISPはもっと手軽に使えるものだと思うよ
78: デフォルトの名無しさん [] 2018/05/23(水)22:12 ID:Au5e7VGg(1)
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

6G48C
79: デフォルトの名無しさん [] 2018/07/04(水)23:51 ID:gFgZc5FG(1)
IHV
80
(2): デフォルトの名無しさん [] 2018/09/09(日)01:03 ID:UehpSxem(1)
今からLisp始めるってどうなの?
81: デフォルトの名無しさん [] 2018/09/09(日)01:17 ID:b63/Vgkc(1)
>>80
それは筋が悪い
82
(1): デフォルトの名無しさん [sage] 2018/09/09(日)03:45 ID:NnO4PjJt(1)
>>76>>77
Lispプログラミングの基本を学ぶには、Lispの適当なサブセットを決めて、そのサブセットのインタープリターをLisp自身で書くことだね
Lispのプログラムはリストの形をしているので、Cなど他の言語のように構文解析や字句解析で悩む必要はない
だからリストを処理するプログラムとしてインタープリターを書くことになるので、Lispプログラミングで最も重要なリスト処理の基本を学べることになる

まあ別にLispのインタープリターでなくてもリストによって表現された抽象構文木を扱うプログラムならば入門としては良い課題だと思うけどね
83: デフォルトの名無しさん [sage] 2018/09/09(日)07:46 ID:N103mDOh(1)
>>82
マシンとしてはどこまで持ち上げ(lift)した?
84: デフォルトの名無しさん [sage] 2018/09/11(火)22:00 ID:cGLFa+nx(1)
>>80
まずはelispから
85: デフォルトの名無しさん [sage] 2018/12/03(月)18:23 ID:5b9Emnvx(1)
それは筋が悪い
86
(1): デフォルトの名無しさん [sage] 2018/12/04(火)01:44 ID:ZSkJl4U8(1)
>>35
コイツ今息してんのかな?www
87
(1): デフォルトの名無しさん [sage] 2018/12/04(火)08:05 ID:XwTNxyUO(1)
LISPなのLispなの、どっちなの
88: デフォルトの名無しさん [sage] 2018/12/08(土)12:27 ID:KVgBfK85(1)
ここ1、2年でLISP関連の書き込みはめっきり減ったな
はちみつしかいないよ
89
(2): デフォルトの名無しさん [sage] 2018/12/08(土)16:59 ID:ag0JcdkU(1)
>>87
> LISPなのLispなの、どっちなの

まあ好きに使えば良いので決まりはない

常識的に言えば、現在はLisp
全部大文字のLISPは昔のLispのイメージだね
というのも1970年代はプリンタで小文字が出せないのは普通だったからアルファベットは大文字のみ
なので言語名も大文字と数字や限られた特殊記号のみ

というわけで、古くからある言語の当時のバージョン(例えば LISP 1.5 とか FORTRAN 77 とか)を強調したいとか「昔感」を強調したい場合は
全部大文字の言語名、LISP, FORTRAN, COBOL, ALGOL を使えば良い

そうでない場合(や当時のバージョンということを強調する意図がない場合)には、現代式の小文字を使った
Lisp, Fortran, Cobol 等を使えば良い
90: デフォルトの名無しさん [sage] 2018/12/16(日)17:09 ID:lVg1cTYK(1)
>>89
なるほど〜!
すごく勉強になりました。
ご回答ありがとうございます!
91: デフォルトの名無しさん [] 2019/11/23(土)04:46 ID:l4WHmfnE(1)
並列化はどうなっているの?OpenMPとかのディレクティブをつかうの?
プロセス並列化はMPI?
92: デフォルトの名無しさん [] 2020/11/24(火)15:18 ID:nO0Ar+PL(1)
はい
93: (u_・y) ◆e6.oHu1j.o [] 2020/11/24(火)15:45 ID:gfNKbZsO(1/2) AAS
AA省
94
(1): (u_・y) ◆e6.oHu1j.o [sage] 2020/11/24(火)15:55 ID:gfNKbZsO(2/2) AAS
AA省
95: デフォルトの名無しさん [sage] 2020/11/25(水)17:29 ID:NHQccPME(1)
>>94
とりあえずこのスレ盛り上げて
96: デフォルトの名無しさん [sage] 2021/01/15(金)13:03 ID:XkGM5v4E(1)
使えるようになるのは修羅の道だけどとりあえず入門コースやるのはマトモなプログラマの必修科目
97
(2): デフォルトの名無しさん [sage] 2021/09/04(土)14:56 ID:DQYaENlA(1)
>>48
> Emacs Lisp も簡単なものならば書けるようになってきました。でも階層構造さえ無しで
> 多数のグローバル変数を憶えなければならないのは古臭い言語だと感じます。

超亀レスだが
elispは動的束縛なのでletで同名変数を宣言すれば大域変数は隠され影響範囲が限定され
キーボード割り込みで大域脱出した時もunwind-protectで元に戻す必要はない
というUI記述言語として極めて良好な性質を持ってる
98
(1): デフォルトの名無しさん [sage] 2021/09/04(土)17:04 ID:Q9qQqykt(1)
>>97
それは動的束縛とは関係無い
defvarで定義された変数はスペシャル変数といって、letで束縛するとそういう挙動になるというだけだ
setqで(無理矢理)定義したグローバル変数はそうならない
ちなみに今のelispは静的束縛が実装されて、全てそれを使うようになっている
ただ、互換性を保つためにまだデフォルトにはなってないけど、時間の問題だろう
99
(1): デフォルトの名無しさん [sage] 2021/09/04(土)18:08 ID:jSSzYM7r(1)
スペシャル変数は動的束縛なんだから関係あるだろ
静的束縛では外から変数を注入するようなことは難しいし
自由変数をつかったら中断時に値を元に戻すにはunwind-protectのような機構が必要だって話
100: デフォルトの名無しさん [sage] 2021/09/04(土)22:48 ID:uKq8oRZn(1)
>>99
いや違う
スペシャル変数のその挙動は、elispが動的束縛だったときと、静的束縛の時で何も変わってない
要するに、単にそういう機能が実装されてるというだけ
101: デフォルトの名無しさん [sage] 2021/09/07(火)20:48 ID:8Gi3qZOZ(1)
>>98
> defvarで定義された変数はスペシャル変数といって、letで束縛するとそういう挙動になるというだけだ
> setqで(無理矢理)定義したグローバル変数はそうならない

Elispの話じゃないじゃないか
102: デフォルトの名無しさん [sage] 2021/09/08(水)23:03 ID:Z7F+3Q5J(1)
おそらく 98 100 は 97 の
「キーボード割り込みで大域脱出した時も…UI記述言語として極めて良好な性質を持ってる」
という内容を解釈することもなくletで束縛した変数のシャドウイングについてはスペシャルでもレキシカルでも挙動に変化はないと言いたいのだろう
大域脱出やunwind-protectの話をしているのであさっての主張なんだが
何がどう関係ないのか次はコードで例示してくれ
103
(1): デフォルトの名無しさん [sage] 2021/09/09(木)23:10 ID:ByNHohVX(1)
>>97
elispはバッファーローカル変数も興味深い

スレッドローカル変数と意味論的にも近く
マルチバッファーセーフ←→マルチスレッドセーフ
という対比ができる

凄くシンプルな設計と実装で上手くこなしてる
standard-outputやnilストリームの使い方も上手い
104: デフォルトの名無しさん [sage] 2021/09/10(金)16:13 ID:y2IogSqT(1/4)
--- 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)
--------------------------------
続く
105: デフォルトの名無しさん [sage] 2021/09/10(金)16:14 ID:y2IogSqT(2/4)
-*- 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で束縛する挙動は静的動的束縛に関係無く同じ挙動だ
それが言いたかっただけ
106: デフォルトの名無しさん [sage] 2021/09/10(金)16:22 ID:y2IogSqT(3/4)
>>103
バッファローカル変数は、他の言語で言うインスタンス変数と役割は同じだな
例えば、buffer-file-nameはバッファローカル変数で、バッファ毎に違う値になるけど、
本来ならばbuffer.file-nameのように、作成したインスタンス変数内(この例ではbuffer)に有るべきだけど、
Emacsはオブジェクト指向を採用しなかったので、グローバル変数をバッファー毎に違う値にする為に、苦肉の策と言えなくもない
LispでもCLOSのようなオブジェクト指向を全面的に採用していれば、バッファローカル変数の仕組みは必要無いものだった
107
(1): デフォルトの名無しさん [sage] 2021/09/10(金)16:29 ID:y2IogSqT(4/4)
CLOSだと(file-name buffer)で済む所を、elispだと
(with-current-buffer buffer
buffer-file-name)
と書く必要があって、CLOSの方がスマートだと思う
他にもelispのadviceも、CLOSのdefmethodの:before :afterを使えば似たような事ができるだろう(完全に同じじゃないけど)
108
(1): デフォルトの名無しさん [sage] 2021/09/11(土)14:40 ID:WRGMhX/P(1)
>>107>>108
それじゃbufferがthisのような特殊な識別子になってるだろ
109: デフォルトの名無しさん [sage] 2024/01/25(木)23:01 ID:GdCzxGB4(1)
人工知能言語として脚光を浴びた時代もありました
110: デフォルトの名無しさん [sage] 02/02(日)07:50 ID:DG2EYWWi(1)
全部が式だし全部がオブジェクトなので分かりやすいよね。
小さい単位で動的に書き換えていけるので開発体験が良い。
動いてるプログラムのオブジェクトをインスペクタで調べたり中身書き換えたり、デバッガ内で値差し替えてリスタートとか楽しい。
Pythonとかより遥かに動的言語してるイメージある
111: デフォルトの名無しさん [] 06/14(土)06:59 ID:3Q/jS2n6(1)
norvigやgrahamも言ってたが
PythonはほぼほぼALGOL風味構文のlispだわ
意味論という意味で
まあlispは構文の斉一性こそが大事なので半分だけ同意
112: デフォルトの名無しさん [] 06/15(日)01:00 ID:bHsxd1q/(1)
Lispってまだあったのか。カァーとかクダァーとかね。
馬鹿馬鹿しいほどのかっこがあったね。今のエディタは
改善されたけど、昔は大変だった。

smalltalkとかprologはどうなったんだろ
113: デフォルトの名無しさん [] 07/04(金)15:29 ID:rrB9liNl(1/2)
むしろエディタの進化でカッコの恩恵受けられてるぞ
フォームをドラッグ&ドロップで移動できる
114: デフォルトの名無しさん [] 07/04(金)15:30 ID:rrB9liNl(2/2)
なんというかscratch的なアレ
115: デフォルトの名無しさん [sage] 07/04(金)21:06 ID:qls1kG6o(1)
lispって、むしろ箱のコピペで記述したら良くね?
116: デフォルトの名無しさん [] 07/06(日)10:21 ID:jyZjYPic(1)
プレーンテキストが正義
vimとかでSexpr認識して、その操作受け付けるんだから無用でしょ
117: デフォルトの名無しさん [sage] 07/08(火)11:32 ID:Lf/Jcjxk(1)
今でも見てる5chの板ってある?
はてな
匿名
ダイアリ
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s