Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part40
http://mevius.5ch.net/test/read.cgi/tech/1426481152/
■テンプレ
ttp://wiki.fdiary.net/lisp/
■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1483498849/
【GNU】スクリプト言語 Guile【scheme】
http://mevius.5ch.net/test/read.cgi/tech/1239985829/
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
http://mevius.5ch.net/test/read.cgi/unix/1019926525/
探検
Lisp Scheme Part41
2018/07/15(日) 02:05:28.62ID:oGr67yTf
689デフォルトの名無しさん
2024/04/16(火) 08:49:18.26ID:Fr3sHPgG >>686
Lisp本ではないが論理学の問題集みたいな一般向け書To Mock a Mockingbirdの後半がみっちりコンビネータ論理に充てられててオススメ
手計算させて解法と答えも章末に載ってて取っ付きやすい入門
そのままdefunしてアプリケーティブに動かしたり、簡約パーサも数個の基底コンビネータの書き換え規則をcondで振るだけの自明な10行
かなり遊べるおもちゃ
Lisp本ではないが論理学の問題集みたいな一般向け書To Mock a Mockingbirdの後半がみっちりコンビネータ論理に充てられててオススメ
手計算させて解法と答えも章末に載ってて取っ付きやすい入門
そのままdefunしてアプリケーティブに動かしたり、簡約パーサも数個の基底コンビネータの書き換え規則をcondで振るだけの自明な10行
かなり遊べるおもちゃ
690デフォルトの名無しさん
2024/04/16(火) 11:41:44.03ID:AOP5eUEV691デフォルトの名無しさん
2024/04/16(火) 12:46:54.23ID:9OjD0OW8 右の人、集合論を勉強すると見せかけてゲーデルエッシャーバッハを持って来ると期待してるw
692デフォルトの名無しさん
2024/04/16(火) 13:18:37.46ID:AOP5eUEV 左「やっぱりあなたLispやってますよね?」
693デフォルトの名無しさん
2024/04/16(火) 13:59:54.08ID:HsOietmi694デフォルトの名無しさん
2024/04/16(火) 16:09:54.43ID:AOP5eUEV >>693
す、するにゃ汗
す、するにゃ汗
695デフォルトの名無しさん
2024/04/18(木) 15:57:15.08ID:L09lN/Y8696デフォルトの名無しさん
2024/04/18(木) 15:59:42.84ID:L09lN/Y8 探してみた、一番下にリンクある
http://web.cecs.pdx.edu/~mperkows/CLASS_ROBOTICS/lisp-source.html
他にもなにやら面白そうなコードが色々
http://web.cecs.pdx.edu/~mperkows/CLASS_ROBOTICS/lisp-source.html
他にもなにやら面白そうなコードが色々
697デフォルトの名無しさん
2024/04/18(木) 16:12:02.72ID:L09lN/Y8698デフォルトの名無しさん
2024/04/24(水) 12:34:02.33ID:6vxo/5Gl Gauche 0.9.15
https://practical-scheme.net/gauche/download-j.html
https://practical-scheme.net/gauche/download-j.html
699デフォルトの名無しさん
2024/04/24(水) 19:33:42.07ID:zTq4mcuG お前がやるんだよ
700デフォルトの名無しさん
2024/04/29(月) 00:40:58.99ID:kyEsQUSW Lisp系の本あるある
Amazonで検索してレビューを見ると、kaizenのしょうもないレビューが付いている
Amazonで検索してレビューを見ると、kaizenのしょうもないレビューが付いている
701デフォルトの名無しさん
2024/04/29(月) 03:32:03.71ID:xgq67JZI (())なーんだ
702デフォルトの名無しさん
2024/04/29(月) 20:53:10.33ID:gOSsFAyk 閲覧者にとってどうでもよすぎることしか書かないゴミレビュアーなんだよなkaizen
「読んでませんが」「一行もかけてませんが」「どういうものかわかりませんが」
けれど、「昔のAI業界知ってます」というね
片っ端から違反報告したろか
「読んでませんが」「一行もかけてませんが」「どういうものかわかりませんが」
けれど、「昔のAI業界知ってます」というね
片っ端から違反報告したろか
703882
2024/07/14(日) 23:11:15.21ID:gZEsSzzj いつの間にやら5ch CLスレが無くなってて書き先がないのでここに書いちゃう。
3年前、 5ch CL スレで出てた話題 ( https://itest.5ch.net/mevius/test/read.cgi/tech/1411307361/925-933 )を見てたらClozure CLのバグを発見して、 Clozure CL に Pull Request 出した者です。 ( https://github.com/Clozure/ccl/pull/362 )
結局あれからずっと放置されてたんですが、昨日になって急にコメントされました。
曰く、「最近になって報告された Issue を直すためにやって変更により、この問題は直ったんじゃないかと思う。」「この3年前の PR を見とけばよかった。」とのこと。
いや本当に見て貰いたかったよ・・と思いつつお礼のコメントしておきました。5chのLisp関連スレを Clozure CL のどっかに刻めるかなと思ったけど中途半端に終わってしまった。すまんね。
3年前、 5ch CL スレで出てた話題 ( https://itest.5ch.net/mevius/test/read.cgi/tech/1411307361/925-933 )を見てたらClozure CLのバグを発見して、 Clozure CL に Pull Request 出した者です。 ( https://github.com/Clozure/ccl/pull/362 )
結局あれからずっと放置されてたんですが、昨日になって急にコメントされました。
曰く、「最近になって報告された Issue を直すためにやって変更により、この問題は直ったんじゃないかと思う。」「この3年前の PR を見とけばよかった。」とのこと。
いや本当に見て貰いたかったよ・・と思いつつお礼のコメントしておきました。5chのLisp関連スレを Clozure CL のどっかに刻めるかなと思ったけど中途半端に終わってしまった。すまんね。
704デフォルトの名無しさん
2024/07/21(日) 16:52:31.51ID:jbuO3Kr/ > あれからずっと放置
Clozureはバグ修正どころか存続の危機という状況だった(今も?)のでやむなし
Clozureはバグ修正どころか存続の危機という状況だった(今も?)のでやむなし
705デフォルトの名無しさん
2024/07/26(金) 19:56:51.72ID:nvGW+kC/ このスレを開くような変態野郎には関係ないがLisp自体も言ってしまえば存続の危機だけどね
Lisperが勝手にライバル視していたXMLも結局Web界隈では嫌われてるし
嫌われデータ表現で嫌われデータを操作するLispが嫌われるなんて当然の帰着といっても過言ではないでしょうな
Lisperが勝手にライバル視していたXMLも結局Web界隈では嫌われてるし
嫌われデータ表現で嫌われデータを操作するLispが嫌われるなんて当然の帰着といっても過言ではないでしょうな
706デフォルトの名無しさん
2024/07/26(金) 20:54:02.96ID:753D+xJi >>705は変態野郎ということだな
707デフォルトの名無しさん
2024/07/26(金) 21:57:46.50ID:nvGW+kC/ 煽られて即レス返すような真性変態野郎には及ばないがな…
まあ雑談しようや
恐らくタグ付きデータ表現を最初期に意識してたであろうLispを世に放ったJ.McCarthyは原初変態ってところか
ところで詳細は知らんが当時で言うAIと今の実用?AIは目的は似ていても手法が全く違う気がするんだが
やはりこの世界はスピードこそがパワーなのか?と2度目の悟りを迎えたLisperは多いんじゃないの?
スピードの前にはもはやLispとか関係無いじゃね?とか今はそういう感じ
まあ雑談しようや
恐らくタグ付きデータ表現を最初期に意識してたであろうLispを世に放ったJ.McCarthyは原初変態ってところか
ところで詳細は知らんが当時で言うAIと今の実用?AIは目的は似ていても手法が全く違う気がするんだが
やはりこの世界はスピードこそがパワーなのか?と2度目の悟りを迎えたLisperは多いんじゃないの?
スピードの前にはもはやLispとか関係無いじゃね?とか今はそういう感じ
708デフォルトの名無しさん
2024/07/26(金) 23:35:12.89ID:753D+xJi >煽られて即レス返すような真性変態野郎
ID:nvGW+kC/ のことだな
ID:nvGW+kC/ のことだな
709はちみつ餃子 ◆8X2XSCHEME
2024/07/26(金) 23:38:45.14ID:e6dQA2Nw710デフォルトの名無しさん
2024/07/29(月) 20:42:01.60ID:Js4zJSVe webasmのS式に活路を見出そう
711デフォルトの名無しさん
2024/07/30(火) 09:51:17.53ID:huM5CJOj 標準規格から30年経過して改訂もなしのCommon Lispは存続の危機とかいうのも超越してしまったように思える
sbclもquicklispも細々とやっていくだろう
sbclもquicklispも細々とやっていくだろう
712デフォルトの名無しさん
2024/07/30(火) 18:26:26.48ID:dglkx4t5 最も変態なのがマシン語
最も変態から遠いのがLisp
平均がマシン語寄りなのでLispが変態に見られてしまうが
安心しろ、それは認知の歪みだ
最も変態から遠いのがLisp
平均がマシン語寄りなのでLispが変態に見られてしまうが
安心しろ、それは認知の歪みだ
713デフォルトの名無しさん
2024/07/30(火) 19:37:30.88ID:otClTmf/ コードとデータが同じ形式でデータと同じようにコードを操作できる特性は変態と呼ぶに値する
脳神経モデルのAIが主流の間は出番ないけど遺伝子モデルのAIが主流になれば復活しそう
一時期流行った進化的アルゴリズムとか最近聞かないけど息してるのかね
脳神経モデルのAIが主流の間は出番ないけど遺伝子モデルのAIが主流になれば復活しそう
一時期流行った進化的アルゴリズムとか最近聞かないけど息してるのかね
714デフォルトの名無しさん
2024/08/01(木) 04:59:08.81ID:yRZ8k2zI 勉強しろよ、おっさん
715デフォルトの名無しさん
2024/08/01(木) 07:17:05.17ID:7xtdgUzE car, cdr, mapcar, cadr etc. まあこの辺は慣れで覚えられた
でも mapc, mapcon, mapcan ... この辺は無理
廃れつつあるのの当然だね
でも mapc, mapcon, mapcan ... この辺は無理
廃れつつあるのの当然だね
716デフォルトの名無しさん
2024/08/01(木) 14:39:20.28ID:yRZ8k2zI コード書かないコンピュータ雑学博士みたいなおっさんが活躍できたのは情報が少ない時代だったからで誰でも好きな言語でOSS活動できるような現代には無用の存在なんだよな
717デフォルトの名無しさん
2024/08/07(水) 15:13:02.20ID:PbgGNmzh718デフォルトの名無しさん
2024/08/09(金) 22:25:05.47ID:/Y8diPS9 それでもLispの悟りを味わうためだけにでも勉強する価値はあるってレイモンズが言ってた
719デフォルトの名無しさん
2024/08/10(土) 20:00:37.82ID:8fMXoMNz ここの住人のように書籍を先生にひとりでLisp書いてる還暦手前の人間には信じられないかもしれないが, common lispにはコミュニティが存在する. これが2024年のCommon Lispサーベイだ.
https://news.ycombinator.com/item?id=41206465
なお, racketもアンケートを実施中だ.
https://news.ycombinator.com/item?id=41206465
なお, racketもアンケートを実施中だ.
720デフォルトの名無しさん
2024/08/11(日) 08:19:43.51ID:Ra0/0/oh この手で一番知りたいアンケート回答者の年齢について何も言及がない時点でお察し
721デフォルトの名無しさん
2024/08/12(月) 00:13:23.88ID:6GU4Ob6x お察しのところもうしわけないが, プログラミング言語コミュニティのサーベイでユーザーの年齢層集計してるとこどこもないっしょ.
722デフォルトの名無しさん
2024/08/24(土) 00:38:59.98ID:TqJppTmh 貴重な趣味仲間なんだから仲良くしろ老人ども
723デフォルトの名無しさん
2024/08/31(土) 07:41:36.68ID:jZQQMHu4 おはようございます
貴重でもないし
趣味でもないし
仲間でもないし
仲良くすることもありません
貴重でもないし
趣味でもないし
仲間でもないし
仲良くすることもありません
724デフォルトの名無しさん
2025/02/02(日) 08:13:35.15ID:DG2EYWWi SBCLはコンスタントに更新しててすごいなって。
たまに破壊的な変更をやらかすが・・・
たまに破壊的な変更をやらかすが・・・
725デフォルトの名無しさん
2025/02/14(金) 15:49:29.78ID:eMFFfIuE racketもコンスタントに更新してるよ
726デフォルトの名無しさん
2025/03/08(土) 07:16:48.57ID:idxuFWQL727デフォルトの名無しさん
2025/04/08(火) 17:02:32.68ID:dn4YaJk8728デフォルトの名無しさん
2025/04/30(水) 20:58:31.60ID:Y194ehFB https://qiita.com/Yudon66/items/5298883524fe4c19be7d
これみたいにプロジェクトオイラーでlisp勉強してるやつおる?
これみたいにプロジェクトオイラーでlisp勉強してるやつおる?
729はちみつ餃子 ◆8X2XSCHEME
2025/04/30(水) 21:17:37.74ID:THYm3xdc そういう題材は数学的な部分で引っ掛かって前に進まなかったりしそう。
言語の練習ということならやること自体ははっきりしてるような題材が良さそうな気がしてる。
言語の練習ということならやること自体ははっきりしてるような題材が良さそうな気がしてる。
730デフォルトの名無しさん
2025/05/01(木) 15:54:19.52ID:9Hk2MMyt M.Hiroi's Home Pageってどうなん?
731はちみつ餃子 ◆8X2XSCHEME
2025/05/03(土) 15:02:51.87ID:WnzKFtQv ええんちゃうか
732デフォルトの名無しさん
2025/07/04(金) 19:22:30.97ID:rrB9liNl733デフォルトの名無しさん
2025/07/06(日) 09:51:20.77ID:jyZjYPic >>728もそうだけれどlispはパズル系は素直に書けていいものだと思った(特にcl)
マルチパラダイムだから色々な方針の実装も楽しいぞ
なんなら定番(場合によっては実装が提供される)であり、論理プログラミングのPrologのcl実装も山程あるからとても素直に解ける
マルチパラダイムだから色々な方針の実装も楽しいぞ
なんなら定番(場合によっては実装が提供される)であり、論理プログラミングのPrologのcl実装も山程あるからとても素直に解ける
734デフォルトの名無しさん
2025/07/08(火) 19:29:01.07ID:lEBcQUbL735デフォルトの名無しさん
2025/07/08(火) 20:48:49.34ID:sskQVz5B おまえらも見習ってAIでどんどん妄想を形にしろよ
これからは論文は読むんじゃなくて生成する時代
これからは論文は読むんじゃなくて生成する時代
736デフォルトの名無しさん
2025/07/08(火) 21:23:04.28ID:lEBcQUbL ifは関数としては書けない、ifはマクロでしか書けない、有名な話だ
ifを関数として書くとしたらthen節とelse節を関数のポインタで渡すことになる
もちろんそれでは美しくない
そこでthen節とelse節をインライン関数として渡すという手がある
これならば節は関数呼び出しでなく同じレベルに展開される
さらにif関数自身もインライン関数にしてしまう
すると制御構造のifとそっくり同じものが手に入るのだ
ここにインライン関数と制御構造は美しい等価関係で結ばれるのである
LISP系の言語でこの最適化を自動でやるのがファーストラムダである
ifを関数として書くとしたらthen節とelse節を関数のポインタで渡すことになる
もちろんそれでは美しくない
そこでthen節とelse節をインライン関数として渡すという手がある
これならば節は関数呼び出しでなく同じレベルに展開される
さらにif関数自身もインライン関数にしてしまう
すると制御構造のifとそっくり同じものが手に入るのだ
ここにインライン関数と制御構造は美しい等価関係で結ばれるのである
LISP系の言語でこの最適化を自動でやるのがファーストラムダである
737デフォルトの名無しさん
2025/07/09(水) 00:29:24.00ID:eQ8lOX87 半世紀以上前に研究されてたようなことを今考えているのか?
738デフォルトの名無しさん
2025/07/09(水) 01:41:00.59ID:qReXyC09 どのへんが既出なんだか教えてほしいもんだがまあいいや
これはテイルコールみたいにファーストラムダの最適化も必須にしませんかという提案だ
それが実現すれば、内部的に無名関数を呼ぶことで実装されていた制御構造が軒並みその最適化にかかる
「C言語が中括弧を開くような感覚で関数を呼んじゃう」というのはLISPの本当に欠点らしい欠点の筆頭だから、
それが改善されればLISPの使い道が違ってくる可能性がある
これはテイルコールみたいにファーストラムダの最適化も必須にしませんかという提案だ
それが実現すれば、内部的に無名関数を呼ぶことで実装されていた制御構造が軒並みその最適化にかかる
「C言語が中括弧を開くような感覚で関数を呼んじゃう」というのはLISPの本当に欠点らしい欠点の筆頭だから、
それが改善されればLISPの使い道が違ってくる可能性がある
739デフォルトの名無しさん
2025/07/09(水) 02:37:47.51ID:d2bmESXo740デフォルトの名無しさん
2025/07/09(水) 04:41:41.15ID:qReXyC09741デフォルトの名無しさん
2025/07/09(水) 09:01:01.99ID:IjsShBy4 わからん。コンパイラ頑張ります宣言ではないのか?
742デフォルトの名無しさん
2025/07/09(水) 09:07:00.67ID:Bk08chKM AIと壁打ちして「理解」した内容を妥当性の検証もしないまま書き込んでそうだな
743デフォルトの名無しさん
2025/07/09(水) 09:37:43.40ID:qReXyC09 ファーストラムダというのは
((lambda
この形のこと
つまり、lambdaを呼んで返ってきた関数オブジェクトを即座にもう一度呼んでる
このときに関数呼び出しをせず、インライン関数として展開してしまう
もちろんスタックフレームは作られない
letだとかwhileだとか、実質的に制御構造に過ぎないものは軒並みこの形をしている
((lambda
この形のこと
つまり、lambdaを呼んで返ってきた関数オブジェクトを即座にもう一度呼んでる
このときに関数呼び出しをせず、インライン関数として展開してしまう
もちろんスタックフレームは作られない
letだとかwhileだとか、実質的に制御構造に過ぎないものは軒並みこの形をしている
744デフォルトの名無しさん
2025/07/09(水) 12:22:27.67ID:EKMDM/sM 742
最近そういうの増えた
丸飲みコピペじゃなくて
消化してから吐き出して欲しい
最近そういうの増えた
丸飲みコピペじゃなくて
消化してから吐き出して欲しい
745はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 13:05:25.01ID:ZKntcAAj オペランドを評価しない関数 fexpr を導入することでスペシャルフォームを手続きと同列にファーストクラスオブジェクトとして扱うアイデアはあるよ。
それを整理して scheme 風言語として構築したものもある。
https://web.cs.wpi.edu/~jshutt/kernel.html
まあそれはそれとして、
>>738
> 内部的に無名関数を呼ぶことで実装
と最適化の話を繋げるのは意味がわからんぞ。
処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
それを整理して scheme 風言語として構築したものもある。
https://web.cs.wpi.edu/~jshutt/kernel.html
まあそれはそれとして、
>>738
> 内部的に無名関数を呼ぶことで実装
と最適化の話を繋げるのは意味がわからんぞ。
処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
746デフォルトの名無しさん
2025/07/09(水) 14:05:12.47ID:cmuoaTCa >>745
>処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
テイルコールはそうでしょ
最適化は処理系がやってくれることを保証するので
単純ループに相当するものでもどんどん再帰の形で書きましょうってことでしょ
ファーストラムダも同じ
制御構造相当のものをlambdaを使って書いても最適化されますよってこと
>処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
テイルコールはそうでしょ
最適化は処理系がやってくれることを保証するので
単純ループに相当するものでもどんどん再帰の形で書きましょうってことでしょ
ファーストラムダも同じ
制御構造相当のものをlambdaを使って書いても最適化されますよってこと
747はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 14:21:01.11ID:ZKntcAAj >>746
> テイルコールはそうでしょ
> 最適化は処理系がやってくれることを保証するので
仕様上は
・正しく末尾再帰が行われていること
・アクティブな末尾呼出しの回数制限がないなら正しく末尾再帰が出来ている
という迂遠な表現になっている。
つまり、何が出来るべきなのかという書き方であって、どう実装すべきかに言及することを避けてる。
同様に処理系のメカニズムに言及することを避けて提案を表現してみてよ。
> テイルコールはそうでしょ
> 最適化は処理系がやってくれることを保証するので
仕様上は
・正しく末尾再帰が行われていること
・アクティブな末尾呼出しの回数制限がないなら正しく末尾再帰が出来ている
という迂遠な表現になっている。
つまり、何が出来るべきなのかという書き方であって、どう実装すべきかに言及することを避けてる。
同様に処理系のメカニズムに言及することを避けて提案を表現してみてよ。
748デフォルトの名無しさん
2025/07/09(水) 14:35:00.91ID:cmuoaTCa テイルコールってのは
call func
ret
って並んでたら
jmp func
に置き換えるんだよ
ファーストラムダもある種の関数のインライン展開ってだけ
call func
ret
って並んでたら
jmp func
に置き換えるんだよ
ファーストラムダもある種の関数のインライン展開ってだけ
749はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 14:40:18.45ID:ZKntcAAj751はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 14:57:26.23ID:ZKntcAAj752デフォルトの名無しさん
2025/07/09(水) 15:02:22.57ID:QwaFNVYh >>740
ifだって普通の関数だろw
インタープリターとしての実装は単なる関数呼び出しだ
スペシャルフォームなので引数は評価せず渡す(通常の関数の場合は評価した結果を渡す)
で、(バイト)コンパイラーはifは関数呼び出しにはせず条件ジャンプ命令列に置き換える
そんな事は古代からやってる
自分で処理系を実装した事あれば誰でも知ってる
ifだって普通の関数だろw
インタープリターとしての実装は単なる関数呼び出しだ
スペシャルフォームなので引数は評価せず渡す(通常の関数の場合は評価した結果を渡す)
で、(バイト)コンパイラーはifは関数呼び出しにはせず条件ジャンプ命令列に置き換える
そんな事は古代からやってる
自分で処理系を実装した事あれば誰でも知ってる
753デフォルトの名無しさん
2025/07/09(水) 15:28:36.71ID:cmuoaTCa マクロだっていう反論が来るのかと思ったらスペシャルフォームだというので戸惑ってるw
そりゃいくつかの関数はミニマルコアとして書かなきゃいけないさ
それさえあれば関数とマクロと制御構造は統一できる、というのが言い分
そりゃいくつかの関数はミニマルコアとして書かなきゃいけないさ
それさえあれば関数とマクロと制御構造は統一できる、というのが言い分
754デフォルトの名無しさん
2025/07/09(水) 15:34:56.94ID:QwaFNVYh ミニマルコアって何だ?
スペシャルフォームとマクロは引数を評価しないで渡す関数として実装される
そんなのは初期の頃からだと言っている
何で今さら発見した面してんのか?と言うことだ
スペシャルフォームとマクロは引数を評価しないで渡す関数として実装される
そんなのは初期の頃からだと言っている
何で今さら発見した面してんのか?と言うことだ
755デフォルトの名無しさん
2025/07/09(水) 15:40:52.83ID:QwaFNVYh 引数を評価しないで渡す関数という点で、マクロとスペシャルフォームは同一の実装と言える
しかしマクロは環境を受け取らないといけないし、戻り値を再度評価する必要があるから、スペシャルフォームとマクロは区別する必要がある
しかしマクロは環境を受け取らないといけないし、戻り値を再度評価する必要があるから、スペシャルフォームとマクロは区別する必要がある
756デフォルトの名無しさん
2025/07/09(水) 15:42:40.68ID:QwaFNVYh 更に、スペシャルフォームはifの様にコンパイラーが特殊なコンパイルをする必要があるので、普通の関数と区別する必要がある点も重要だ
757デフォルトの名無しさん
2025/07/09(水) 15:45:21.52ID:cmuoaTCa 評価しないで渡したい引数のうち、制御に関わるものならインラインクロージャでなんとかなりますよって話だよ
レキシカルにちゃんとしたクロージャをインライン展開される前提で引数として渡すんだよ
レキシカルにちゃんとしたクロージャをインライン展開される前提で引数として渡すんだよ
758デフォルトの名無しさん
2025/07/09(水) 15:46:21.90ID:QwaFNVYh しかしながら、普通の関数でもスペシャルフォームの様な特殊なコンパイルをしたい場合があるので、その為にコンパイラーマクロが存在する
ただほとんど使われない
ただほとんど使われない
759デフォルトの名無しさん
2025/07/09(水) 15:48:37.80ID:QwaFNVYh760デフォルトの名無しさん
2025/07/09(水) 15:50:14.77ID:QwaFNVYh mapcarに渡したlambdaをインライン展開したいと言うなら、mapcarを(コンパイラー)マクロにすれば可能だ
761デフォルトの名無しさん
2025/07/09(水) 15:56:45.13ID:cmuoaTCa >>759
テイルコールみたいにファーストラムダ最適化も必須にすればインライン展開される分速くなる
テイルコールみたいにファーストラムダ最適化も必須にすればインライン展開される分速くなる
762はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 16:17:26.50ID:ZKntcAAj 最適化するために仕様の改定が必要か?
763デフォルトの名無しさん
2025/07/09(水) 16:32:28.96ID:eQ8lOX87 >>738
どのへんが既出なんだか教えてほしいということならALGOLとサンクのコンパイル研究あたりで出尽していると思うから60年前には既に研究レベルでなく, 実践されていたのではないか.AIにきいてもわからなかったか?
AIに尋ねたら1960年代初頭でサンクのインライン展開も含めてアイデアは出尽しているといわれた.
ついでにSMALLTALKとIFとブロックについても調べてみろよ.
LISPの関数呼び出しの最適化についてもおまえは50年前あたりの認識をしている. 当然SBCLあたりの最適化はおまえよりずっと先をいってる.
どのへんが既出なんだか教えてほしいということならALGOLとサンクのコンパイル研究あたりで出尽していると思うから60年前には既に研究レベルでなく, 実践されていたのではないか.AIにきいてもわからなかったか?
AIに尋ねたら1960年代初頭でサンクのインライン展開も含めてアイデアは出尽しているといわれた.
ついでにSMALLTALKとIFとブロックについても調べてみろよ.
LISPの関数呼び出しの最適化についてもおまえは50年前あたりの認識をしている. 当然SBCLあたりの最適化はおまえよりずっと先をいってる.
764デフォルトの名無しさん
2025/07/09(水) 17:07:46.42ID:ohpjpVt+ >ファーストラムダというのは
「ファーストラムダ」という言葉は、通常、AWS Lambdaを指すスラングとして使われることがあります。AWS Lambdaは、サーバーレスコンピューティングサービスで、コードをサーバーの管理なしに実行できます。
「ファーストラムダ」という言葉は、通常、AWS Lambdaを指すスラングとして使われることがあります。AWS Lambdaは、サーバーレスコンピューティングサービスで、コードをサーバーの管理なしに実行できます。
765デフォルトの名無しさん
2025/07/09(水) 17:09:06.44ID:cmuoaTCa インライン展開を俺が発明したなんて言ってないだろ
この形をしたラムダをそうすると効くんじゃないかというのが俺の発明だ
あと、クロージャを引数として渡すのもSmalltalkやRubyはやってるだろう
俺の発明は「インライン関数を引数として渡すという逆接はものごとを見通しよくしますよ」だ
この形をしたラムダをそうすると効くんじゃないかというのが俺の発明だ
あと、クロージャを引数として渡すのもSmalltalkやRubyはやってるだろう
俺の発明は「インライン関数を引数として渡すという逆接はものごとを見通しよくしますよ」だ
766デフォルトの名無しさん
2025/07/09(水) 17:25:03.45ID:ohpjpVt+ そうやってevalの時点で評価されなかった式を何時どうやって誰が適用するのか
というおとぎ話を自慢毛に語るスレ
というおとぎ話を自慢毛に語るスレ
767デフォルトの名無しさん
2025/07/09(水) 17:29:15.92ID:cmuoaTCa evalはインタープリタ、lambdaはコンパイラ
768はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 18:09:52.06ID:ZKntcAAj Scheme はコンパイル結果を気楽に見る方法がないことも多いんだけど……
Gauche だと disasm で見れる。
(define (foo x y) ((lambda(a b)(+ a b)) x y))
(define (bar x y) (+ x y))
(disasm foo)
(disasm bar)
表示の意味がわからなくても foo と bar が同じになっていることはわかるだろう。
(バージョンによるかも?)
ごく普通にそういう最適化はしてる。
Gauche だと disasm で見れる。
(define (foo x y) ((lambda(a b)(+ a b)) x y))
(define (bar x y) (+ x y))
(disasm foo)
(disasm bar)
表示の意味がわからなくても foo と bar が同じになっていることはわかるだろう。
(バージョンによるかも?)
ごく普通にそういう最適化はしてる。
769デフォルトの名無しさん
2025/07/09(水) 18:36:27.57ID:CwmzIZ1x 自分で処理系書いてから言え
770デフォルトの名無しさん
2025/07/09(水) 19:18:13.79ID:eQ8lOX87 >>765
少なくともLISP界隈では発明では全くないからHaskell, OCaml, コンパイラの最適化方面のスレで展開してみたら?
A正規化あたりと絡めて展開すればよりアカデミックなやりとりが期待できるのでは?
少なくともLISP界隈では発明では全くないからHaskell, OCaml, コンパイラの最適化方面のスレで展開してみたら?
A正規化あたりと絡めて展開すればよりアカデミックなやりとりが期待できるのでは?
771デフォルトの名無しさん
2025/07/09(水) 19:46:08.96ID:QwaFNVYh map系の関数にラムダ式を渡したら、それがインライン展開されてコンパイルされるのは、最近の言語では当然の様にやってる
772デフォルトの名無しさん
2025/07/09(水) 22:06:22.87ID:cmuoaTCa >>770
letでローカル変数3つ確保しましたって時に
実際には内部でlambdaが呼ばれてるわけだろ?
この時にlambdaをインライン展開したら
オペランドスタックと返り値スタックが省かれて
変数スタックだけになって制御構造と同じコストになるだろ?
これは大きな最適化なんだよ
letでローカル変数3つ確保しましたって時に
実際には内部でlambdaが呼ばれてるわけだろ?
この時にlambdaをインライン展開したら
オペランドスタックと返り値スタックが省かれて
変数スタックだけになって制御構造と同じコストになるだろ?
これは大きな最適化なんだよ
773はちみつ餃子 ◆8X2XSCHEME
2025/07/09(水) 22:54:33.01ID:ZKntcAAj >>772
let が lambda に展開される (させる) 例が仕様に書いてあるのはあくまでも挙動の説明に過ぎず、多くのリッチな処理系ではそんな展開はしない。
let が lambda に展開される (させる) 例が仕様に書いてあるのはあくまでも挙動の説明に過ぎず、多くのリッチな処理系ではそんな展開はしない。
774デフォルトの名無しさん
2025/07/09(水) 23:21:02.31ID:cmuoaTCa >>773
リッチでない処理系がこの最適化ひとつでリッチ同然になる
リッチでない処理系がこの最適化ひとつでリッチ同然になる
775デフォルトの名無しさん
2025/07/09(水) 23:40:56.18ID:eQ8lOX87 テム・レイ最適化って呼ばせてほしい
776デフォルトの名無しさん
2025/07/09(水) 23:41:46.05ID:QSSrKuoD おかしな人が居ると捗るよね。でもまともなこと言ってる人もだんだんおかしなことをいいだして、実はおかしな人しかいなかったと気づかされる。
777デフォルトの名無しさん
2025/07/10(木) 00:52:48.56ID:nn3AKhN3 (macroexpand '(let ((a 1) (b a) (c b)) c)) ;=>((lambda (a b c) c) 1 a b)
(macroexpand '(let* ((a 1) (b a) (c b)) c)) ;=>((lambda (a) ((lambda (b) ((lambda (c) c) b)) a)) 1)
(macroexpand '(letrec ((a 1) (b a) (c b)) c)) ;=>((lambda (a b c) (set! a 1) (set! b a) (set! c b) c) '() '() '())
あいあい いいいい 飛ばして えいえい おいおい 戻して うーいうい
(macroexpand '(let* ((a 1) (b a) (c b)) c)) ;=>((lambda (a) ((lambda (b) ((lambda (c) c) b)) a)) 1)
(macroexpand '(letrec ((a 1) (b a) (c b)) c)) ;=>((lambda (a b c) (set! a 1) (set! b a) (set! c b) c) '() '() '())
あいあい いいいい 飛ばして えいえい おいおい 戻して うーいうい
778デフォルトの名無しさん
2025/07/10(木) 01:03:21.83ID:qcnALR7R779はちみつ餃子 ◆8X2XSCHEME
2025/07/10(木) 07:45:53.86ID:UMLMi9p2780デフォルトの名無しさん
2025/07/10(木) 09:58:20.49ID:yFw8mCQ1781はちみつ餃子 ◆8X2XSCHEME
2025/07/10(木) 10:05:39.66ID:UMLMi9p2 放置しても延々と書き込み続けるタイプだと思う
782デフォルトの名無しさん
2025/07/10(木) 19:24:20.39ID:yFw8mCQ1783デフォルトの名無しさん
2025/07/10(木) 23:08:55.70ID:RcjFMSaB bignumを廃止してint64を基本にしようとか、いまさらC言語の変数のregister宣言を再発明して画期的だといってるようなもんだろ
こういうのが生成AIでブーストされる世の中になったかと思うとそら恐しいわ
こういうのが生成AIでブーストされる世の中になったかと思うとそら恐しいわ
784デフォルトの名無しさん
2025/07/12(土) 11:00:16.80ID:Q8STCu4g ほんそれ
785デフォルトの名無しさん
2025/07/12(土) 21:28:03.94ID:JuZx4722 つまりGaucheを仕様にしてR7RSを実装にすればぼくだつていばれる
786デフォルトの名無しさん
2025/07/13(日) 05:20:47.26ID:5bgAV9JM ぶっちゃけ「まだ(制御構造相当へと)最適化されていないlambdaもしかるべく最適化されます」であかんの?
787デフォルトの名無しさん
2025/07/13(日) 05:22:42.75ID:5bgAV9JM lambdaというかlambdaの返すクロージャのインライン最適化だな
788デフォルトの名無しさん
2025/07/13(日) 05:35:19.17ID:5bgAV9JM あとAI云々に関しては「一線だとこんなもんです」としか言いようがない
俺はAIを数年前哲学板にペータテストスレが立った頃からいじってるけど
俺の問答はAIを作ってる会社的にもいい一次データになってる可能性があります
あと、論文は近い将来のAIの吐く洗練された論文と比べて原始的になる可能性もあります
俺はAIを数年前哲学板にペータテストスレが立った頃からいじってるけど
俺の問答はAIを作ってる会社的にもいい一次データになってる可能性があります
あと、論文は近い将来のAIの吐く洗練された論文と比べて原始的になる可能性もあります
レスを投稿する
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★2 [BFU★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★3 [BFU★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★4 [♪♪♪★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★3
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★2
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」 [115996789]
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」★2 [115996789]
- 【動画】中国の対応、世界中でバカにされ始める… 高市さんの逆転か? [271912485]
