Lisp Scheme Part41 (894レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
865: はちみつ餃子 ◆8X2XSCHEME [sage] 2025/10/21(火) 20:26:59.37 ID:GptfFBSs SRFI-17 の generalized set! を実装するのはそんなに難しくない。 ただ、効率的に実装しようと思うと処理系が直接サポートするに越したことは無い。 私は必要だと思ったことがないけど。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/865
866: デフォルトの名無しさん [sage] 2025/10/22(水) 00:13:50.86 ID:Yyz/H0lN みんなsetfしか頭に無いからだよ pushとかincfも汎変数を扱える これの有用性を全然分かってない 汎変数が無い時は、pushする時にキーが無い時の事も考慮すると長いクソコードを書かないといけない >>864のコードはキーが無い時でも問題ない これが要らないとか、普段Lispを書いてないエアプとしか思えない http://mevius.5ch.net/test/read.cgi/tech/1531587928/866
867: デフォルトの名無しさん [] 2025/10/22(水) 15:07:29.42 ID:XMOdEDQ7 >>864 のコードはキーが無い時でも問題ない これはnilが空リストというのも含めて文脈に応じた拡張してるだけなのでplace機能が担う機能じゃない alistを破壊的に使うのなんてemacsくらいで他はハッシュ使う emacslispしか書いたことがなくてlisp完全理解してるやつは大口叩くよなlispコードも汚ないし http://mevius.5ch.net/test/read.cgi/tech/1531587928/867
868: デフォルトの名無しさん [sage] 2025/10/22(水) 15:36:27.81 ID:MaQ8nGgA >>867 ハッシュテーブル使うならLispである必要がない エアプは黙ってろ http://mevius.5ch.net/test/read.cgi/tech/1531587928/868
869: デフォルトの名無しさん [] 2025/10/22(水) 17:59:42.59 ID:XMOdEDQ7 emacsで設定ファイルいじるところからlispスタートしてるから知らないんだろうけど incfやpushがplace扱えるなんてのはcommonlisp入門書に普通に載ってんだわ ちなみにemacsのgvってのは多値が扱えない劣化版placeね http://mevius.5ch.net/test/read.cgi/tech/1531587928/869
870: デフォルトの名無しさん [sage] 2025/10/22(水) 18:11:04.60 ID:MaQ8nGgA >>867 > これはnilが空リストというのも含めて文脈に応じた拡張してるだけなのでplace機能が担う機能じゃない ↑ これがエアプ言ってんだよ setf実装したこと無いだろ 文脈って何だよ?文系かよ… http://mevius.5ch.net/test/read.cgi/tech/1531587928/870
871: デフォルトの名無しさん [sage] 2025/10/22(水) 19:08:02.39 ID:MaQ8nGgA alistやplistのキーじゃなく「値」を書き換えるのはLispの流儀じゃない? clojure野郎か? http://mevius.5ch.net/test/read.cgi/tech/1531587928/871
872: デフォルトの名無しさん [] 2025/10/22(水) 19:26:43.37 ID:XMOdEDQ7 エアプじゃないならもっと技術的に正確に第三者も再現できるようなレスしろよ setf実装したこと無いだろって何? http://mevius.5ch.net/test/read.cgi/tech/1531587928/872
873: デフォルトの名無しさん [sage] 2025/10/22(水) 23:25:38.68 ID:MaQ8nGgA setfが無いLispにsetfを実装する事という意味にしか取れんだろ http://mevius.5ch.net/test/read.cgi/tech/1531587928/873
874: デフォルトの名無しさん [sage] 2025/10/22(水) 23:46:41.20 ID:MaQ8nGgA 簡単なものなら(defsetf symbol-value set)のように実装可能だが、無い場合は追加する状況が有るならdefsetfは使えない getfが良い例だ http://mevius.5ch.net/test/read.cgi/tech/1531587928/874
875: デフォルトの名無しさん [sage] 2025/10/22(水) 23:56:32.44 ID:MaQ8nGgA placeはgetfのような場合でもちゃんと実装できるように考慮されてる されてるというか、defsetfのような便利マクロを使えなくて素の仕組みを使うってだけだが http://mevius.5ch.net/test/read.cgi/tech/1531587928/875
876: デフォルトの名無しさん [] 2025/10/23(木) 04:32:37.99 ID:unNDcSNX >>0873 はあ自作lispにsrfi 17とかemacsのgv.elを実装するってこと? lisp版の左辺値なわけだから別に無理にマクロでエミュレートする必要もないわな lisp1のschemeだったら10行程度だけどlisp2だと言語設計の話になるし後付けで一貫性がなかったらemacsみたいになるよな alist-getの話にまで戻すとalistのkv要素をよきにはからって新規追加してるのは(gv-define-expander alist-get)で定義した挙動なだけでplaceという概念とは直交するだろという指摘なのでおまえのつっこみが全部まと外れ http://mevius.5ch.net/test/read.cgi/tech/1531587928/876
877: デフォルトの名無しさん [sage] 2025/10/23(木) 12:02:10.26 ID:SeuJXbyZ >>876 > よきにはからって また文学が出ちゃったw 文系はそんなんで誤魔化せると思ってんだな 新規追加する事の意味が分かってないから「よきにはからって」とか言わざるを得ないんだよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/877
878: デフォルトの名無しさん [sage] 2025/10/23(木) 12:06:08.44 ID:SeuJXbyZ 分かりやすい解説を書きたい所だが、文学が読みたいから返答を待ってるよw http://mevius.5ch.net/test/read.cgi/tech/1531587928/878
879: 暗黒神・豊田聡志 [] 2025/10/23(木) 13:45:49.27 ID:xac6ZsGF どんな結果になろうとも、かつえの事は、放置プレイだボケ。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/879
880: デフォルトの名無しさん [sage] 2025/10/23(木) 18:54:52.20 ID:SeuJXbyZ (setq ls (delete 'foo ls)) みたいなイディオムがあるように、リストの先頭を削除したり追加したりするにはその「外側」での対応が必要になる Lisperなら当然知ってる事だがな (alist-get 'a ls)でlsを受け取ったalist-getが幾ら先頭に(key . value)を追加したって意味が無い(途中になら可能) lsを保持している外側での対応が必要になる alist-getが2つ目の引数だって事が分かってるけどsetf側はそんな事知らないので教える必要がある その辺がsetfがget-setf-expansionを介した2段構えになってる理由だな http://mevius.5ch.net/test/read.cgi/tech/1531587928/880
881: デフォルトの名無しさん [] 2025/10/24(金) 03:28:33.12 ID:SZTuSSg3 そもそもエアプは黙ってろって連呼してるやつって >>859 なの? ハッシュテーブル使うならLispである必要がないとかいう原理主義者がsetfの話してるのもアンバランスでバカみたい http://mevius.5ch.net/test/read.cgi/tech/1531587928/881
882: デフォルトの名無しさん [sage] 2025/10/24(金) 17:02:06.19 ID:gEuKQCol >>881 elispにはarefの対にasetがあって、そっちの方が記述がシンプルになるしsetfを使う意味がほとんどない (aset ary 1 3)対(setf (aref ary 1) 3)とか (set 'hoge 3)対(setf (symbol-value 'hoge) 3) があったら普通は前者の方を書くだろう ハッシュテーブルや配列だけならsetfは不要だ でも、汎変数というかplaceというかsetfは(push 3 (alist-get 'c als))のようにリストに使うと効果絶大だ 先に書いたように(push 3 (alist-get 'c als))はシンプルで直感的な記述ながら実に多くの事をやっている どの辺がアンバランスなんだ? http://mevius.5ch.net/test/read.cgi/tech/1531587928/882
883: デフォルトの名無しさん [] 2025/10/26(日) 23:35:32.26 ID:SlBkv4G6 ハッシュテーブル使うならLispである必要がないというのはどう解釈してもお馬鹿 setfの役割は左辺値+オブザーバーだがalist-getの件はリストをkv構造で使う際のリストの構造上の欠陥をオブザーバー部が補ってるだけだから例として挙げるような優れたデザインでもなんでもない ハッシュテーブルならそもそもこの問題がないからリストに使うと効果絶大というのもお馬鹿の勘違い なんでもリストで処理しようとするのは昭和で終った http://mevius.5ch.net/test/read.cgi/tech/1531587928/883
884: デフォルトの名無しさん [sage] 2025/10/26(日) 23:50:13.43 ID:RMl0wgM+ >>883 だからエアプ言われんだよw Lispのリストほど便利なものはない Lispのリストと言ってるのはコンスセルを使ったものを指している 他の言語では無い もちろんその言語で実装する事は可能だが、Lispの様に構文レベルで対応してる言語には遠く及ばない 敢えて否定したいなら、効率が悪いという事のみ これも動的型言語として使うならどうでも良い話だ http://mevius.5ch.net/test/read.cgi/tech/1531587928/884
885: デフォルトの名無しさん [sage] 2025/10/27(月) 00:01:04.96 ID:W99ASBpj >>883 > setfの役割は左辺値+オブザーバーだがalist-getの件はリストをkv構造で使う際のリストの構造上の欠陥をオブザーバー部が補ってるだけだから例として挙げるような優れたデザインでもなんでもない ↑ 俺の説明を聞いてから一生懸命否定しようとしたんだなw そもそもなんだ?オブザーバーって? デザインパターンのオブザーバーの事なら全然違う マクロのトリックなんだよ マクロ使ったテクニックをオブザーバーいう馬鹿は初めて見たw http://mevius.5ch.net/test/read.cgi/tech/1531587928/885
886: デフォルトの名無しさん [] 2025/10/28(火) 04:53:26.98 ID:FzLqQH8v なんだ、結局反論できなくなったのか? 「お馬鹿」だの「昭和で終った」だの散々イキってたのに、だんまりか?w 「オブザーバー(笑)」だの「リストの構造上の欠陥(笑)」だの、それっぽい文学的ポエムを並べてたが、こっちが「それ、ただのマクロのトリックだぞ」って事実を指摘したら逃げ出すとか、ダサすぎだろ。 マクロ使ったテクニックをオブザーバーとか言い出す馬鹿は初めて見たわw 結局、お前ら「エアプ」には、 (push 3 (alist-get 'c als)) の凄さが微塵も理解できなかったな。 get-setf-expansionがどう動くか、なんで「外側」の変数(als)を書き換えられるのか、俺がわざわざヒントまで出してやったのに、エアプが返してきたのは「よきにはからって(キリッ)」だもんな。文系かよw で、苦し紛れに言い出したのが「ハッシュテーブルなら問題ない」。 だから、「ハッシュテーブル使うならLispである必要がない」と何度言えば分かるんだ? Lispのリスト(コンスセル)が他の言語に無い、どれだけ便利なものか、全く分かってない。 効率が悪い? そんなもんは動的型言語なんだから「どうでも良い話だ」と結論出てるだろ。 エアプは、alist-getの議論から「ハッシュテーブル」っていう全く別次元の話に逃げただけ。 俺が「リストに使うと効果絶大だ」と言った意味が、最後まで理解できなかった時点でお前らの負けだよ。 まぁ、Lisperなら当然知ってるイディオムすら知らなそうなエアプには、alist-getの真価なんて分かるわけもなかったかw エアプは黙ってろ。議論にすらならんかったな。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/886
887: デフォルトの名無しさん [] 2025/10/28(火) 05:32:08.58 ID:FzLqQH8v つーか、ハッシュテーブルとか言ってる奴。お前マジでLispやめろ。 Lispの魂はコンスセル(cons)なんだよ。わかる? alist こそがLispの「コード=データ」を体現する至高のデータ構造。 ハッシュテーブル(笑)なんてPythonでも使ってろ。Lispである必要がゼロ。 setf ってのは、その cons でできたリスト宇宙(笑)を自在に書き換えるための「神のマクロ」なんだよ。 880で説明した「外側」の書き換えとか、get-setf-expansion の凄さが、お前らエアプには理解不能だっただけ。 nil を自動で (key . value) に変異させるこのマクロ・トリックこそがLispの真髄なのに、それを「構造上の欠陥」(883)とか言っちゃうセンスの無さ。 もういいわ。話にならん。 マクロが何かもわかってない文系エアプに何を言っても無駄。 俺が「本物のLisp」を教えてやったのに、誰もついてこれなかったな。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/887
888: デフォルトの名無しさん [] 2025/10/28(火) 07:59:27.60 ID:/Gs2akef Lispって無限リストとか作れるの? それ何に使うの? それなしじゃ書けないものあるの? C言語にはそんなものないけどなんでも書けるよ? http://mevius.5ch.net/test/read.cgi/tech/1531587928/888
889: 暗黒神・豊田聡志 [] 2025/10/28(火) 16:33:24.90 ID:rzZnX+yP 船井幸雄・著「今ひとに聞かせてい神さまの言葉」に書いてある。 かつえとの子作りセックスの為に最後の最後には、国連は上君田に土下座しに来ると書いてあるぞ。 必死になって国連は、土下座すると書いてあるぞwwww 余生は、かつえとの子作りセックスの話しを断り続けて、マクロスのプラモ三昧の生活だなwww かつえとの子作りセックスで出来た「てんしさま」が居なければ戦争になると、船井幸雄が本に書いてあるぞwww かつえの閉経はいつだ? かつえの子宮頸がんのステージはいくつだ 宇宙戦争の開戦はいつだwww 勝沼かつえは、子供産める身体なのか??? http://mevius.5ch.net/test/read.cgi/tech/1531587928/889
890: デフォルトの名無しさん [] 2025/11/11(火) 18:56:41.38 ID:IMC7CS1x 80年代のsicpでさえデータ型を定義することを推奨してるのだから リスト以外を使ったらlispの意味がないとかぬかすのは愚の骨頂ですわ http://mevius.5ch.net/test/read.cgi/tech/1531587928/890
891: デフォルトの名無しさん [] 2025/11/16(日) 16:16:40.82 ID:JUX/KH1x ファンタジーコンソールのtic80がこっそりschemeに対応してるんだけど これゲームを題材にしてscheme手習いしたいって人にはめっちゃ良いんじゃない http://mevius.5ch.net/test/read.cgi/tech/1531587928/891
892: デフォルトの名無しさん [] 2025/11/18(火) 07:50:44.27 ID:7woWQLhR 手習いしたい?だからエアプ言われんだよw http://mevius.5ch.net/test/read.cgi/tech/1531587928/892
893: デフォルトの名無しさん [] 2025/11/18(火) 17:29:51.35 ID:d9hs+rsN ? 手習いすればエアプじゃないじゃん http://mevius.5ch.net/test/read.cgi/tech/1531587928/893
894: はちみつ餃子 ◆8X2XSCHEME [sage] 2025/11/18(火) 17:52:24.61 ID:saOGypzb >>893 「手習い」じゃなく「したい」に反応したのだと思うぞ。 したいのにまだやってないのはなんで?というのがエアプという言葉になっているんだろう。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/894
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.666s*