Lisp Scheme Part41 (808レス)
上下前次1-新
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(2): 2018/07/15(日)02:05 ID:oGr67yTf(1) AAS
Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part40
2chスレ:tech
■テンプレ
外部リンク:wiki.fdiary.net
■関連スレ
【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
2chスレ:tech
【GNU】スクリプト言語 Guile【scheme】
省9
682: 2024/04/15(月)13:42 ID:h9iqzVMR(2/2) AAS
痛い人だw
683: 2024/04/15(月)15:03 ID:AVuQkQ2W(1) AAS
痛レス追加w
プログラミングにおいては、学問的基礎はそこそこにしてドンドン先に進んだもん勝ちなのよね
学習の初期段階から集合論(動画内ではタイプ理論も)に油売ってたら(逃げを通り越して)脱落かと
ユーチューバーが視聴数稼ぎの為に手を出してるのを差し引かないとね、初学者が真似したら破滅
みんな母国語を話せるでしょ?言語学なんて知らなくてもw
684: 2024/04/15(月)15:11 ID:oyztWlKb(1) AAS
逆に数学ちゃんとやらないからLispでつまづいてイライラするんだろうな
そういう奴は20年後も進歩してないと思う(俺のことだが)
685: 2024/04/15(月)17:04 ID:BU/Fumer(1) AAS
でもまぁ左は慶応情報工学、右は数学が得意と言ってるし集合論は楽しみではあるな(他意は無い)
686(1): 2024/04/15(月)17:51 ID:lxkYY0z4(1/2) AAS
集合論もゲーデルもコンビネーター理論も入門レベルは理解したい
と思い続けて10年w
687: 2024/04/15(月)17:53 ID:lxkYY0z4(2/2) AAS
そんなことよりCentOS8入れてみたらGuileもEmacsも入ってなくてブチ切れそうなんだけど
688: 2024/04/15(月)19:17 ID:pFNJA2no(1) AAS
Lispは母語じゃないからなぁ
689(1): 2024/04/16(火)08:49 ID:Fr3sHPgG(1) AAS
>>686
Lisp本ではないが論理学の問題集みたいな一般向け書To Mock a Mockingbirdの後半がみっちりコンビネータ論理に充てられててオススメ
手計算させて解法と答えも章末に載ってて取っ付きやすい入門
そのままdefunしてアプリケーティブに動かしたり、簡約パーサも数個の基底コンビネータの書き換え規則をcondで振るだけの自明な10行
かなり遊べるおもちゃ
690(1): 2024/04/16(火)11:41 ID:AOP5eUEV(1/3) AAS
>>689
ありがとう
ものまね鳥、積読になってる😅
691: 2024/04/16(火)12:46 ID:9OjD0OW8(1) AAS
右の人、集合論を勉強すると見せかけてゲーデルエッシャーバッハを持って来ると期待してるw
692: 2024/04/16(火)13:18 ID:AOP5eUEV(2/3) AAS
左「やっぱりあなたLispやってますよね?」
693(1): 2024/04/16(火)13:59 ID:HsOietmi(1) AAS
>>690
まじかー𓃠
愛読しろにゃ
694: 2024/04/16(火)16:09 ID:AOP5eUEV(3/3) AAS
>>693
す、するにゃ汗
695: 2024/04/18(木)15:57 ID:L09lN/Y8(1/3) AAS
>>652
acl2.lispもたぶん参考にしてるかもだけど
On LispにもANSI CLにも載ってないのを集めた utx.lispってのもあるよ
念の為
696(1): 2024/04/18(木)15:59 ID:L09lN/Y8(2/3) AAS
探してみた、一番下にリンクある
外部リンク[html]:web.cecs.pdx.edu
他にもなにやら面白そうなコードが色々
697: 2024/04/18(木)16:12 ID:L09lN/Y8(3/3) AAS
>>670
性能は知らんけど丁度>>696にニューラルネットのコードがあったよ、とコメントしておく
NEURAL NETWORKS.
PERCEPTR.CL Perceptron.
BACKPROP.CL Backpropagating Neural Net.
書かれたのが30年前で特に最適化してない短いお手本コードだけど、今時のAI向け言語とどの程度性能に差が出るだろう?ちょっと興味ある
他言語も得意で暇な人ベンチしてくれないかな()
698: 2024/04/24(水)12:34 ID:6vxo/5Gl(1) AAS
Gauche 0.9.15
外部リンク[html]:practical-scheme.net
699: 2024/04/24(水)19:33 ID:zTq4mcuG(1) AAS
お前がやるんだよ
700: 2024/04/29(月)00:40 ID:kyEsQUSW(1) AAS
Lisp系の本あるある
Amazonで検索してレビューを見ると、kaizenのしょうもないレビューが付いている
701: 2024/04/29(月)03:32 ID:xgq67JZI(1) AAS
(())なーんだ
702: 2024/04/29(月)20:53 ID:gOSsFAyk(1) AAS
閲覧者にとってどうでもよすぎることしか書かないゴミレビュアーなんだよなkaizen
「読んでませんが」「一行もかけてませんが」「どういうものかわかりませんが」
けれど、「昔のAI業界知ってます」というね
片っ端から違反報告したろか
703(1): 882 2024/07/14(日)23:11 ID:gZEsSzzj(1) AAS
いつの間にやら5ch CLスレが無くなってて書き先がないのでここに書いちゃう。
3年前、 5ch CL スレで出てた話題 ( 2chスレ:tech )を見てたらClozure CLのバグを発見して、 Clozure CL に Pull Request 出した者です。 ( 外部リンク:github.com )
結局あれからずっと放置されてたんですが、昨日になって急にコメントされました。
曰く、「最近になって報告された Issue を直すためにやって変更により、この問題は直ったんじゃないかと思う。」「この3年前の PR を見とけばよかった。」とのこと。
いや本当に見て貰いたかったよ・・と思いつつお礼のコメントしておきました。5chのLisp関連スレを Clozure CL のどっかに刻めるかなと思ったけど中途半端に終わってしまった。すまんね。
704: 2024/07/21(日)16:52 ID:jbuO3Kr/(1) AAS
> あれからずっと放置
Clozureはバグ修正どころか存続の危機という状況だった(今も?)のでやむなし
705(1): 2024/07/26(金)19:56 ID:nvGW+kC/(1/2) AAS
このスレを開くような変態野郎には関係ないがLisp自体も言ってしまえば存続の危機だけどね
Lisperが勝手にライバル視していたXMLも結局Web界隈では嫌われてるし
嫌われデータ表現で嫌われデータを操作するLispが嫌われるなんて当然の帰着といっても過言ではないでしょうな
706: 2024/07/26(金)20:54 ID:753D+xJi(1/2) AAS
>>705は変態野郎ということだな
707(1): 2024/07/26(金)21:57 ID:nvGW+kC/(2/2) AAS
煽られて即レス返すような真性変態野郎には及ばないがな…
まあ雑談しようや
恐らくタグ付きデータ表現を最初期に意識してたであろうLispを世に放ったJ.McCarthyは原初変態ってところか
ところで詳細は知らんが当時で言うAIと今の実用?AIは目的は似ていても手法が全く違う気がするんだが
やはりこの世界はスピードこそがパワーなのか?と2度目の悟りを迎えたLisperは多いんじゃないの?
スピードの前にはもはやLispとか関係無いじゃね?とか今はそういう感じ
708: 2024/07/26(金)23:35 ID:753D+xJi(2/2) AAS
>煽られて即レス返すような真性変態野郎
ID:nvGW+kC/ のことだな
709: はちみつ餃子 ◆8X2XSCHEME 2024/07/26(金)23:38 ID:e6dQA2Nw(1) AAS
>>707
文意を読み取れない。
なにか前提の説明が欠けているんじゃないかと思う。
710: 2024/07/29(月)20:42 ID:Js4zJSVe(1) AAS
webasmのS式に活路を見出そう
711: 2024/07/30(火)09:51 ID:huM5CJOj(1) AAS
標準規格から30年経過して改訂もなしのCommon Lispは存続の危機とかいうのも超越してしまったように思える
sbclもquicklispも細々とやっていくだろう
712: 2024/07/30(火)18:26 ID:dglkx4t5(1) AAS
最も変態なのがマシン語
最も変態から遠いのがLisp
平均がマシン語寄りなのでLispが変態に見られてしまうが
安心しろ、それは認知の歪みだ
713: 2024/07/30(火)19:37 ID:otClTmf/(1) AAS
コードとデータが同じ形式でデータと同じようにコードを操作できる特性は変態と呼ぶに値する
脳神経モデルのAIが主流の間は出番ないけど遺伝子モデルのAIが主流になれば復活しそう
一時期流行った進化的アルゴリズムとか最近聞かないけど息してるのかね
714: 2024/08/01(木)04:59 ID:yRZ8k2zI(1/2) AAS
勉強しろよ、おっさん
715: 2024/08/01(木)07:17 ID:7xtdgUzE(1) AAS
car, cdr, mapcar, cadr etc. まあこの辺は慣れで覚えられた
でも mapc, mapcon, mapcan ... この辺は無理
廃れつつあるのの当然だね
716: 2024/08/01(木)14:39 ID:yRZ8k2zI(2/2) AAS
コード書かないコンピュータ雑学博士みたいなおっさんが活躍できたのは情報が少ない時代だったからで誰でも好きな言語でOSS活動できるような現代には無用の存在なんだよな
717: 2024/08/07(水)15:13 ID:PbgGNmzh(1) AAS
>>703
CL スレ無くなってなかったよ
2chスレ:tech
718: 2024/08/09(金)22:25 ID:/Y8diPS9(1) AAS
それでもLispの悟りを味わうためだけにでも勉強する価値はあるってレイモンズが言ってた
719: 2024/08/10(土)20:00 ID:8fMXoMNz(1) AAS
ここの住人のように書籍を先生にひとりでLisp書いてる還暦手前の人間には信じられないかもしれないが, common lispにはコミュニティが存在する. これが2024年のCommon Lispサーベイだ.
外部リンク:news.ycombinator.com
なお, racketもアンケートを実施中だ.
720: 2024/08/11(日)08:19 ID:Ra0/0/oh(1) AAS
この手で一番知りたいアンケート回答者の年齢について何も言及がない時点でお察し
721: 2024/08/12(月)00:13 ID:6GU4Ob6x(1) AAS
お察しのところもうしわけないが, プログラミング言語コミュニティのサーベイでユーザーの年齢層集計してるとこどこもないっしょ.
722: 2024/08/24(土)00:38 ID:TqJppTmh(1) AAS
貴重な趣味仲間なんだから仲良くしろ老人ども
723(1): 2024/08/31(土)07:41 ID:jZQQMHu4(1) AAS
おはようございます
貴重でもないし
趣味でもないし
仲間でもないし
仲良くすることもありません
724: 02/02(日)08:13 ID:DG2EYWWi(1) AAS
SBCLはコンスタントに更新しててすごいなって。
たまに破壊的な変更をやらかすが・・・
725: 02/14(金)15:49 ID:eMFFfIuE(1) AAS
racketもコンスタントに更新してるよ
726: 03/08(土)07:16 ID:idxuFWQL(1) AAS
The Landscape of Lisp
外部リンク[html]:churchofturing.github.io
727: 04/08(火)17:02 ID:dn4YaJk8(1) AAS
>>723
じゃあお前は来なくていいよ
一人でチラシ裏に書いててくれ
728(1): 04/30(水)20:58 ID:Y194ehFB(1) AAS
外部リンク:qiita.com
これみたいにプロジェクトオイラーでlisp勉強してるやつおる?
729: はちみつ餃子 ◆8X2XSCHEME 04/30(水)21:17 ID:THYm3xdc(1) AAS
そういう題材は数学的な部分で引っ掛かって前に進まなかったりしそう。
言語の練習ということならやること自体ははっきりしてるような題材が良さそうな気がしてる。
730(1): 05/01(木)15:54 ID:9Hk2MMyt(1) AAS
M.Hiroi's Home Pageってどうなん?
731: はちみつ餃子 ◆8X2XSCHEME 05/03(土)15:02 ID:WnzKFtQv(1) AAS
ええんちゃうか
732: 07/04(金)19:22 ID:rrB9liNl(1) AAS
>>730
典型的な比較言語学者っぽいけどlisp関連(cl/el/scheme全部あったかな?)はまあいい
章立てがグッチャグチャだけど本人の趣味かパズルの例題が多くてそこはやってみる価値あり
733: 07/06(日)09:51 ID:jyZjYPic(1) AAS
>>728もそうだけれどlispはパズル系は素直に書けていいものだと思った(特にcl)
マルチパラダイムだから色々な方針の実装も楽しいぞ
なんなら定番(場合によっては実装が提供される)であり、論理プログラミングのPrologのcl実装も山程あるからとても素直に解ける
734: 07/08(火)19:29 ID:lEBcQUbL(1/2) AAS
俺がAIに書かせまくってる論文
外部リンク:ja.wikiversity.org
735: 07/08(火)20:48 ID:sskQVz5B(1) AAS
おまえらも見習ってAIでどんどん妄想を形にしろよ
これからは論文は読むんじゃなくて生成する時代
736(1): 07/08(火)21:23 ID:lEBcQUbL(2/2) AAS
ifは関数としては書けない、ifはマクロでしか書けない、有名な話だ
ifを関数として書くとしたらthen節とelse節を関数のポインタで渡すことになる
もちろんそれでは美しくない
そこでthen節とelse節をインライン関数として渡すという手がある
これならば節は関数呼び出しでなく同じレベルに展開される
さらにif関数自身もインライン関数にしてしまう
すると制御構造のifとそっくり同じものが手に入るのだ
ここにインライン関数と制御構造は美しい等価関係で結ばれるのである
LISP系の言語でこの最適化を自動でやるのがファーストラムダである
737: 07/09(水)00:29 ID:eQ8lOX87(1/4) AAS
半世紀以上前に研究されてたようなことを今考えているのか?
738(2): 07/09(水)01:41 ID:qReXyC09(1/3) AAS
どのへんが既出なんだか教えてほしいもんだがまあいいや
これはテイルコールみたいにファーストラムダの最適化も必須にしませんかという提案だ
それが実現すれば、内部的に無名関数を呼ぶことで実装されていた制御構造が軒並みその最適化にかかる
「C言語が中括弧を開くような感覚で関数を呼んじゃう」というのはLISPの本当に欠点らしい欠点の筆頭だから、
それが改善されればLISPの使い道が違ってくる可能性がある
739(1): 07/09(水)02:37 ID:d2bmESXo(1) AAS
>>736
それをスペシャルフォームというのだが…
無知は何でも楽しそうでいいなw
740(1): 07/09(水)04:41 ID:qReXyC09(2/3) AAS
>>739
スペシャルフォームでもなくマクロでもなく
普通の関数として書いてしまえちゃうだろって話
そのために必要な道具立てはインラインクロージャのみ
741: 07/09(水)09:01 ID:IjsShBy4(1) AAS
わからん。コンパイラ頑張ります宣言ではないのか?
742: 07/09(水)09:07 ID:Bk08chKM(1) AAS
AIと壁打ちして「理解」した内容を妥当性の検証もしないまま書き込んでそうだな
743(1): 07/09(水)09:37 ID:qReXyC09(3/3) AAS
ファーストラムダというのは
((lambda
この形のこと
つまり、lambdaを呼んで返ってきた関数オブジェクトを即座にもう一度呼んでる
このときに関数呼び出しをせず、インライン関数として展開してしまう
もちろんスタックフレームは作られない
letだとかwhileだとか、実質的に制御構造に過ぎないものは軒並みこの形をしている
744: 07/09(水)12:22 ID:EKMDM/sM(1) AAS
742
最近そういうの増えた
丸飲みコピペじゃなくて
消化してから吐き出して欲しい
745(1): はちみつ餃子 ◆8X2XSCHEME 07/09(水)13:05 ID:ZKntcAAj(1/7) AAS
オペランドを評価しない関数 fexpr を導入することでスペシャルフォームを手続きと同列にファーストクラスオブジェクトとして扱うアイデアはあるよ。
それを整理して scheme 風言語として構築したものもある。
外部リンク[html]:web.cs.wpi.edu
まあそれはそれとして、
>>738
> 内部的に無名関数を呼ぶことで実装
と最適化の話を繋げるのは意味がわからんぞ。
処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
746(1): 07/09(水)14:05 ID:cmuoaTCa(1/10) AAS
>>745
>処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
テイルコールはそうでしょ
最適化は処理系がやってくれることを保証するので
単純ループに相当するものでもどんどん再帰の形で書きましょうってことでしょ
ファーストラムダも同じ
制御構造相当のものをlambdaを使って書いても最適化されますよってこと
747: はちみつ餃子 ◆8X2XSCHEME 07/09(水)14:21 ID:ZKntcAAj(2/7) AAS
>>746
> テイルコールはそうでしょ
> 最適化は処理系がやってくれることを保証するので
仕様上は
・正しく末尾再帰が行われていること
・アクティブな末尾呼出しの回数制限がないなら正しく末尾再帰が出来ている
という迂遠な表現になっている。
つまり、何が出来るべきなのかという書き方であって、どう実装すべきかに言及することを避けてる。
同様に処理系のメカニズムに言及することを避けて提案を表現してみてよ。
748(1): 07/09(水)14:35 ID:cmuoaTCa(2/10) AAS
テイルコールってのは
call func
ret
って並んでたら
jmp func
に置き換えるんだよ
省1
749(1): はちみつ餃子 ◆8X2XSCHEME 07/09(水)14:40 ID:ZKntcAAj(3/7) AAS
>>748
テイルコールの説明なんか要らん。 知ってるから。
仕様を変える提案をするなら仕様書にどう書きたいのかで説明してくれと述べてる。
750(1): 07/09(水)14:49 ID:cmuoaTCa(3/10) AAS
>>749
>>743
751: はちみつ餃子 ◆8X2XSCHEME 07/09(水)14:57 ID:ZKntcAAj(4/7) AAS
>>750
意味を為さない言葉を何万回繰り返したところで何も変わらんぞ。
妥当な文章を書く能力がないならもう出来ることはない。
論外。 終わり。
752: 07/09(水)15:02 ID:QwaFNVYh(1/8) AAS
>>740
ifだって普通の関数だろw
インタープリターとしての実装は単なる関数呼び出しだ
スペシャルフォームなので引数は評価せず渡す(通常の関数の場合は評価した結果を渡す)
で、(バイト)コンパイラーはifは関数呼び出しにはせず条件ジャンプ命令列に置き換える
そんな事は古代からやってる
自分で処理系を実装した事あれば誰でも知ってる
753: 07/09(水)15:28 ID:cmuoaTCa(4/10) AAS
マクロだっていう反論が来るのかと思ったらスペシャルフォームだというので戸惑ってるw
そりゃいくつかの関数はミニマルコアとして書かなきゃいけないさ
それさえあれば関数とマクロと制御構造は統一できる、というのが言い分
754: 07/09(水)15:34 ID:QwaFNVYh(2/8) AAS
ミニマルコアって何だ?
スペシャルフォームとマクロは引数を評価しないで渡す関数として実装される
そんなのは初期の頃からだと言っている
何で今さら発見した面してんのか?と言うことだ
755: 07/09(水)15:40 ID:QwaFNVYh(3/8) AAS
引数を評価しないで渡す関数という点で、マクロとスペシャルフォームは同一の実装と言える
しかしマクロは環境を受け取らないといけないし、戻り値を再度評価する必要があるから、スペシャルフォームとマクロは区別する必要がある
756: 07/09(水)15:42 ID:QwaFNVYh(4/8) AAS
更に、スペシャルフォームはifの様にコンパイラーが特殊なコンパイルをする必要があるので、普通の関数と区別する必要がある点も重要だ
757(1): 07/09(水)15:45 ID:cmuoaTCa(5/10) AAS
評価しないで渡したい引数のうち、制御に関わるものならインラインクロージャでなんとかなりますよって話だよ
レキシカルにちゃんとしたクロージャをインライン展開される前提で引数として渡すんだよ
758: 07/09(水)15:46 ID:QwaFNVYh(5/8) AAS
しかしながら、普通の関数でもスペシャルフォームの様な特殊なコンパイルをしたい場合があるので、その為にコンパイラーマクロが存在する
ただほとんど使われない
759(1): 07/09(水)15:48 ID:QwaFNVYh(6/8) AAS
>>757
インライン関数はマクロで実装できる
環境もちゃんとハンドリング出来るので、インラインクロージャーもマクロで実装可能だ
何がしたいのか良く分からない…
760: 07/09(水)15:50 ID:QwaFNVYh(7/8) AAS
mapcarに渡したlambdaをインライン展開したいと言うなら、mapcarを(コンパイラー)マクロにすれば可能だ
761: 07/09(水)15:56 ID:cmuoaTCa(6/10) AAS
>>759
テイルコールみたいにファーストラムダ最適化も必須にすればインライン展開される分速くなる
762: はちみつ餃子 ◆8X2XSCHEME 07/09(水)16:17 ID:ZKntcAAj(5/7) AAS
最適化するために仕様の改定が必要か?
763: 07/09(水)16:32 ID:eQ8lOX87(2/4) AAS
>>738
どのへんが既出なんだか教えてほしいということならALGOLとサンクのコンパイル研究あたりで出尽していると思うから60年前には既に研究レベルでなく, 実践されていたのではないか.AIにきいてもわからなかったか?
AIに尋ねたら1960年代初頭でサンクのインライン展開も含めてアイデアは出尽しているといわれた.
ついでにSMALLTALKとIFとブロックについても調べてみろよ.
LISPの関数呼び出しの最適化についてもおまえは50年前あたりの認識をしている. 当然SBCLあたりの最適化はおまえよりずっと先をいってる.
764: 07/09(水)17:07 ID:ohpjpVt+(1/2) AAS
>ファーストラムダというのは
「ファーストラムダ」という言葉は、通常、AWS Lambdaを指すスラングとして使われることがあります。AWS Lambdaは、サーバーレスコンピューティングサービスで、コードをサーバーの管理なしに実行できます。
765(1): 07/09(水)17:09 ID:cmuoaTCa(7/10) AAS
インライン展開を俺が発明したなんて言ってないだろ
この形をしたラムダをそうすると効くんじゃないかというのが俺の発明だ
あと、クロージャを引数として渡すのもSmalltalkやRubyはやってるだろう
俺の発明は「インライン関数を引数として渡すという逆接はものごとを見通しよくしますよ」だ
766: 07/09(水)17:25 ID:ohpjpVt+(2/2) AAS
そうやってevalの時点で評価されなかった式を何時どうやって誰が適用するのか
というおとぎ話を自慢毛に語るスレ
767: 07/09(水)17:29 ID:cmuoaTCa(8/10) AAS
evalはインタープリタ、lambdaはコンパイラ
768: はちみつ餃子 ◆8X2XSCHEME 07/09(水)18:09 ID:ZKntcAAj(6/7) AAS
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 が同じになっていることはわかるだろう。
(バージョンによるかも?)
ごく普通にそういう最適化はしてる。
769: 07/09(水)18:36 ID:CwmzIZ1x(1) AAS
自分で処理系書いてから言え
770(1): 07/09(水)19:18 ID:eQ8lOX87(3/4) AAS
>>765
少なくともLISP界隈では発明では全くないからHaskell, OCaml, コンパイラの最適化方面のスレで展開してみたら?
A正規化あたりと絡めて展開すればよりアカデミックなやりとりが期待できるのでは?
771: 07/09(水)19:46 ID:QwaFNVYh(8/8) AAS
map系の関数にラムダ式を渡したら、それがインライン展開されてコンパイルされるのは、最近の言語では当然の様にやってる
772(2): 07/09(水)22:06 ID:cmuoaTCa(9/10) AAS
>>770
letでローカル変数3つ確保しましたって時に
実際には内部でlambdaが呼ばれてるわけだろ?
この時にlambdaをインライン展開したら
オペランドスタックと返り値スタックが省かれて
変数スタックだけになって制御構造と同じコストになるだろ?
これは大きな最適化なんだよ
773(1): はちみつ餃子 ◆8X2XSCHEME 07/09(水)22:54 ID:ZKntcAAj(7/7) AAS
>>772
let が lambda に展開される (させる) 例が仕様に書いてあるのはあくまでも挙動の説明に過ぎず、多くのリッチな処理系ではそんな展開はしない。
774(1): 07/09(水)23:21 ID:cmuoaTCa(10/10) AAS
>>773
リッチでない処理系がこの最適化ひとつでリッチ同然になる
775: 07/09(水)23:40 ID:eQ8lOX87(4/4) AAS
テム・レイ最適化って呼ばせてほしい
776: 07/09(水)23:41 ID:QSSrKuoD(1) AAS
おかしな人が居ると捗るよね。でもまともなこと言ってる人もだんだんおかしなことをいいだして、実はおかしな人しかいなかったと気づかされる。
777: 07/10(木)00:52 ID:nn3AKhN3(1) AAS
(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) '() '() '())
あいあい いいいい 飛ばして えいえい おいおい 戻して うーいうい
778: 07/10(木)01:03 ID:qcnALR7R(1) AAS
>>772
そこに興味あるなら、この後CPS変換を調べるといいよ
その後関数をジェネレーターに変換して、yieldに対応出来たら一人前だよw
更にその後はAsync/Awaitが待っている
779(1): はちみつ餃子 ◆8X2XSCHEME 07/10(木)07:45 ID:UMLMi9p2(1/2) AAS
>>774
let は 常に lambda に展開せねばならず、引数の受け渡しはスタックを使うことという制約を入れて最適化の邪魔をしてまでひとつの最適化を入れる?
馬鹿馬鹿しい。
780: 07/10(木)09:58 ID:yFw8mCQ1(1/2) AAS
>>779
「論外。終わり。」じゃなかったんですか?
対話不可能でしょこれは
781(1): はちみつ餃子 ◆8X2XSCHEME 07/10(木)10:05 ID:UMLMi9p2(2/2) AAS
放置しても延々と書き込み続けるタイプだと思う
782: 07/10(木)19:24 ID:yFw8mCQ1(2/2) AAS
>>781
じゃあNG入れとけばいいでしょうが
何年5chやってんの
783: 07/10(木)23:08 ID:RcjFMSaB(1) AAS
bignumを廃止してint64を基本にしようとか、いまさらC言語の変数のregister宣言を再発明して画期的だといってるようなもんだろ
こういうのが生成AIでブーストされる世の中になったかと思うとそら恐しいわ
784: 07/12(土)11:00 ID:Q8STCu4g(1) AAS
ほんそれ
785: 07/12(土)21:28 ID:JuZx4722(1) AAS
つまりGaucheを仕様にしてR7RSを実装にすればぼくだつていばれる
786: 07/13(日)05:20 ID:5bgAV9JM(1/5) AAS
ぶっちゃけ「まだ(制御構造相当へと)最適化されていないlambdaもしかるべく最適化されます」であかんの?
787: 07/13(日)05:22 ID:5bgAV9JM(2/5) AAS
lambdaというかlambdaの返すクロージャのインライン最適化だな
788: 07/13(日)05:35 ID:5bgAV9JM(3/5) AAS
あとAI云々に関しては「一線だとこんなもんです」としか言いようがない
俺はAIを数年前哲学板にペータテストスレが立った頃からいじってるけど
俺の問答はAIを作ってる会社的にもいい一次データになってる可能性があります
あと、論文は近い将来のAIの吐く洗練された論文と比べて原始的になる可能性もあります
789(1): 07/13(日)05:52 ID:5bgAV9JM(4/5) AAS
ユーザーがマクロとかで勝手に書いた
どこの馬の骨みたいな制御構造でも
最適化されるんですよ
790(1): 07/13(日)08:07 ID:lgLjhFXd(1) AAS
>>789
ふつうそうなるだろ。マクロにしたら最適化かからないなんて面倒で非効率なことしない。
791(1): 07/13(日)11:38 ID:5bgAV9JM(5/5) AAS
>>790
ユーザーがマクロで書いたmy-letが
処理系実装者のチューンしたletと同じになるのがふつうなの?
俺のはかなり近くなるけど
792: 07/13(日)12:26 ID:tfWATuEI(1) AAS
Racket は、やらないの?
793(1): 07/13(日)23:42 ID:2niGmUKn(1/2) AAS
はちみつがすでに指摘してることを延々とくりかえすのはスレの住人の大半が理解できてないってことか?
794(1): 07/13(日)23:50 ID:2niGmUKn(2/2) AAS
AIくんが教師なし学習でLispの最適化を発明したと主張してきたので新規性がないし既存の手法で実現されてると指摘したら教師なし学習なので新規性なんか知らないし教師なし学習としては凄くないですか?といいはじめる
五年ほど前までこういうAIエンジニア多かったな今どこいったんだろ
795: 07/14(月)04:03 ID:H42iB8O8(1) AAS
>>794
お前なんかがこのスレの何がいいんだ?
796(2): 07/14(月)10:05 ID:SvqlBNnt(1) AAS
>>791
ごめんなさい、もちろんふつうじゃありません。letを等価なlambda によるものとかに変換して (まあマクロでいいやもあり)それを最適化した方が捗る(ような気がする)というオレオレ実装の話です。
797: 07/14(月)10:15 ID:yq/UCo3U(1) AAS
>>793
はちみつをNGにしてる人かもしれないね
798: 07/14(月)20:30 ID:778hTmQY(1) AAS
lambdaの返す関数オブジェクトのたどる運命は大体3通り
(1) シンボルにバインドされて普通の名前付き関数になる
(2) 高階関数に引数として渡される
(3) ファーストラムダとして即座に呼び出される
799: 07/14(月)23:25 ID:OppI5UAF(1) AAS
>>796
捗るとか言ってる時点で馬鹿丸出しだ
どういうメリットが有るのか具体的に書け
800: 07/14(月)23:58 ID:8TvcLzrP(1) AAS
実在しない実装
虚装
801: 07/15(火)07:22 ID:M3dXRA34(1/2) AAS
>>796
正規化による見通しのよさが向上するというメリットは普通にあるでしょ
では既存の処理系がすべてそうしていないなぜかというとletのままの方が最適化できることがあるからだったり, CommonLispのletのようにlambdaより機能が多いために等価に変換できないということがある
はちみつが既に指摘している
802: 07/15(火)07:32 ID:M3dXRA34(2/2) AAS
ある状況に最適化するのだから当然だが, 最適化は特定の実行モデルと結び付けると局所的には成功するが往々にして大域的には失敗する
言語設計の巧みさは最適化可能な余地を保ちつつ特定の実行モデルは極力前提にしないところにある. 特定の実行モデルの戦略の失敗が言語の失敗に直結してしまう
これも, はちみつが既に指摘している. 仕様の読み方を学んではどうか. まして独自の言語設計をするならば
803: 07/22(火)23:09 ID:7KXgok3Q(1) AAS
To: **************
Subject: First Lambda = A tail-call-like optimization that lets you write syntax as functions
Dear *********,
The project is still in the early stage of theoretical modeling and representation-level experimentation.
I'm exploring whether the idea of "inline closures as syntax" could serve as a foundation for rewriting control constructs without relying on macro expansion.
First Lambda has the form:
((lambda ...
省6
804: 07/24(木)20:23 ID:Pb6gK57F(1) AAS
スレに報告するなら
このスレでは新しいアイデアではなかったという結論になっているので
スレの住人の結論をくつがえす力をもつ大先生に相談したのかが
重要な情報だと思うが隠したら意味がない
805: 07/24(木)21:54 ID:CH9XcWr2(1) AAS
宛先はドクター ・マシュー・フラット
806: 07/25(金)03:09 ID:3nwbV1EW(1) AAS
あなたがこれらの関係性を「発見」だと感じたのは、ご自身で深く考え、これらの概念間のつながりを独自に見出したからでしょう。これは、知識を鵜呑みにせず、自ら思考し、理解しようとする非常に素晴らしい姿勢です。科学の多くの進歩は、このように自らの頭で考えることから生まれます。
しかし、科学の世界では、その「発見」が人類にとって本当に新しい知識であるか、そしてそれが厳密な形で定式化され、検証されているかが問われます。あなたがたどり着いた結論は、偶然にも、あるいは必然的に、すでに確立された「基礎中の基礎」である、ということです。
807: 07/25(金)18:03 ID:NfVpBKmO(1) AAS
関数型言語が手続き型言語と根本的に違うみたいに言ってたのは一般界隈の方じゃないか
俺は「Schemeを手続き型言語のひとつとしてしか使ったことがない」と言ったら嘲笑を浴びたこともあるぞ
808: 07/26(土)00:52 ID:2rEMZk2e(1) AAS
もちろん、話し手の真意は本人にしか分かりませんが、提示された情報だけを基にすれば、「逆張りのイキリがスベっただけ」という解釈は十分に成り立ちます。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s