Lisp Scheme Part41

2018/07/15(日) 02:05:28.62ID:oGr67yTf
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/
2024/07/26(金) 23:35:12.89ID:753D+xJi
>煽られて即レス返すような真性変態野郎

ID:nvGW+kC/ のことだな
2024/07/26(金) 23:38:45.14ID:e6dQA2Nw
>>707
文意を読み取れない。
なにか前提の説明が欠けているんじゃないかと思う。
710デフォルトの名無しさん
垢版 |
2024/07/29(月) 20:42:01.60ID:Js4zJSVe
webasmのS式に活路を見出そう
2024/07/30(火) 09:51:17.53ID:huM5CJOj
標準規格から30年経過して改訂もなしのCommon Lispは存続の危機とかいうのも超越してしまったように思える
sbclもquicklispも細々とやっていくだろう
2024/07/30(火) 18:26:26.48ID:dglkx4t5
最も変態なのがマシン語
最も変態から遠いのがLisp
平均がマシン語寄りなのでLispが変態に見られてしまうが
安心しろ、それは認知の歪みだ
2024/07/30(火) 19:37:30.88ID:otClTmf/
コードとデータが同じ形式でデータと同じようにコードを操作できる特性は変態と呼ぶに値する
脳神経モデルのAIが主流の間は出番ないけど遺伝子モデルのAIが主流になれば復活しそう
一時期流行った進化的アルゴリズムとか最近聞かないけど息してるのかね
2024/08/01(木) 04:59:08.81ID:yRZ8k2zI
勉強しろよ、おっさん
2024/08/01(木) 07:17:05.17ID:7xtdgUzE
car, cdr, mapcar, cadr etc. まあこの辺は慣れで覚えられた
でも mapc, mapcon, mapcan ... この辺は無理
廃れつつあるのの当然だね
2024/08/01(木) 14:39:20.28ID:yRZ8k2zI
コード書かないコンピュータ雑学博士みたいなおっさんが活躍できたのは情報が少ない時代だったからで誰でも好きな言語でOSS活動できるような現代には無用の存在なんだよな
2024/08/07(水) 15:13:02.20ID:PbgGNmzh
>>703

CL スレ無くなってなかったよ
https://itest.5ch.net/mevius/test/read.cgi/tech/1624937701/
718デフォルトの名無しさん
垢版 |
2024/08/09(金) 22:25:05.47ID:/Y8diPS9
それでもLispの悟りを味わうためだけにでも勉強する価値はあるってレイモンズが言ってた
2024/08/10(土) 20:00:37.82ID:8fMXoMNz
ここの住人のように書籍を先生にひとりでLisp書いてる還暦手前の人間には信じられないかもしれないが, common lispにはコミュニティが存在する. これが2024年のCommon Lispサーベイだ.
https://news.ycombinator.com/item?id=41206465
なお, racketもアンケートを実施中だ.
2024/08/11(日) 08:19:43.51ID:Ra0/0/oh
この手で一番知りたいアンケート回答者の年齢について何も言及がない時点でお察し
2024/08/12(月) 00:13:23.88ID:6GU4Ob6x
お察しのところもうしわけないが, プログラミング言語コミュニティのサーベイでユーザーの年齢層集計してるとこどこもないっしょ.
2024/08/24(土) 00:38:59.98ID:TqJppTmh
貴重な趣味仲間なんだから仲良くしろ老人ども
2024/08/31(土) 07:41:36.68ID:jZQQMHu4
おはようございます
貴重でもないし
趣味でもないし
仲間でもないし
仲良くすることもありません
2025/02/02(日) 08:13:35.15ID:DG2EYWWi
SBCLはコンスタントに更新しててすごいなって。
たまに破壊的な変更をやらかすが・・・
2025/02/14(金) 15:49:29.78ID:eMFFfIuE
racketもコンスタントに更新してるよ
2025/03/08(土) 07:16:48.57ID:idxuFWQL
The Landscape of Lisp

https://churchofturing.github.io/landscapeoflisp.html
2025/04/08(火) 17:02:32.68ID:dn4YaJk8
>>723
じゃあお前は来なくていいよ
一人でチラシ裏に書いててくれ
2025/04/30(水) 20:58:31.60ID:Y194ehFB
https://qiita.com/Yudon66/items/5298883524fe4c19be7d
これみたいにプロジェクトオイラーでlisp勉強してるやつおる?
2025/04/30(水) 21:17:37.74ID:THYm3xdc
そういう題材は数学的な部分で引っ掛かって前に進まなかったりしそう。
言語の練習ということならやること自体ははっきりしてるような題材が良さそうな気がしてる。
2025/05/01(木) 15:54:19.52ID:9Hk2MMyt
M.Hiroi's Home Pageってどうなん?
2025/05/03(土) 15:02:51.87ID:WnzKFtQv
ええんちゃうか
732デフォルトの名無しさん
垢版 |
2025/07/04(金) 19:22:30.97ID:rrB9liNl
>>730
典型的な比較言語学者っぽいけどlisp関連(cl/el/scheme全部あったかな?)はまあいい
章立てがグッチャグチャだけど本人の趣味かパズルの例題が多くてそこはやってみる価値あり
733デフォルトの名無しさん
垢版 |
2025/07/06(日) 09:51:20.77ID:jyZjYPic
>>728もそうだけれどlispはパズル系は素直に書けていいものだと思った(特にcl)
マルチパラダイムだから色々な方針の実装も楽しいぞ
なんなら定番(場合によっては実装が提供される)であり、論理プログラミングのPrologのcl実装も山程あるからとても素直に解ける
734デフォルトの名無しさん
垢版 |
2025/07/08(火) 19:29:01.07ID:lEBcQUbL
俺がAIに書かせまくってる論文
https://ja.wikiversity.org/wiki/YOYU%E8%AB%96%E6%96%87%E3%83%84%E3%82%A2%E3%83%BC
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系の言語でこの最適化を自動でやるのがファーストラムダである
2025/07/09(水) 00:29:24.00ID:eQ8lOX87
半世紀以上前に研究されてたようなことを今考えているのか?
738デフォルトの名無しさん
垢版 |
2025/07/09(水) 01:41:00.59ID:qReXyC09
どのへんが既出なんだか教えてほしいもんだがまあいいや
これはテイルコールみたいにファーストラムダの最適化も必須にしませんかという提案だ
それが実現すれば、内部的に無名関数を呼ぶことで実装されていた制御構造が軒並みその最適化にかかる
「C言語が中括弧を開くような感覚で関数を呼んじゃう」というのはLISPの本当に欠点らしい欠点の筆頭だから、
それが改善されればLISPの使い道が違ってくる可能性がある
2025/07/09(水) 02:37:47.51ID:d2bmESXo
>>736
それをスペシャルフォームというのだが…
無知は何でも楽しそうでいいなw
740デフォルトの名無しさん
垢版 |
2025/07/09(水) 04:41:41.15ID:qReXyC09
>>739
スペシャルフォームでもなくマクロでもなく
普通の関数として書いてしまえちゃうだろって話
そのために必要な道具立てはインラインクロージャのみ
2025/07/09(水) 09:01:01.99ID:IjsShBy4
わからん。コンパイラ頑張ります宣言ではないのか?
2025/07/09(水) 09:07:00.67ID:Bk08chKM
AIと壁打ちして「理解」した内容を妥当性の検証もしないまま書き込んでそうだな
743デフォルトの名無しさん
垢版 |
2025/07/09(水) 09:37:43.40ID:qReXyC09
ファーストラムダというのは

((lambda

この形のこと
つまり、lambdaを呼んで返ってきた関数オブジェクトを即座にもう一度呼んでる
このときに関数呼び出しをせず、インライン関数として展開してしまう
もちろんスタックフレームは作られない
letだとかwhileだとか、実質的に制御構造に過ぎないものは軒並みこの形をしている
744デフォルトの名無しさん
垢版 |
2025/07/09(水) 12:22:27.67ID:EKMDM/sM
742
最近そういうの増えた
丸飲みコピペじゃなくて
消化してから吐き出して欲しい
2025/07/09(水) 13:05:25.01ID:ZKntcAAj
オペランドを評価しない関数 fexpr を導入することでスペシャルフォームを手続きと同列にファーストクラスオブジェクトとして扱うアイデアはあるよ。
それを整理して scheme 風言語として構築したものもある。
https://web.cs.wpi.edu/~jshutt/kernel.html

まあそれはそれとして、
>>738
> 内部的に無名関数を呼ぶことで実装

と最適化の話を繋げるのは意味がわからんぞ。
処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?
746デフォルトの名無しさん
垢版 |
2025/07/09(水) 14:05:12.47ID:cmuoaTCa
>>745
>処理系の実装方法の一部は言語仕様として強制すべきというのが前提になってる?

テイルコールはそうでしょ
最適化は処理系がやってくれることを保証するので
単純ループに相当するものでもどんどん再帰の形で書きましょうってことでしょ

ファーストラムダも同じ
制御構造相当のものをlambdaを使って書いても最適化されますよってこと
2025/07/09(水) 14:21:01.11ID:ZKntcAAj
>>746
> テイルコールはそうでしょ
> 最適化は処理系がやってくれることを保証するので

仕様上は
・正しく末尾再帰が行われていること
・アクティブな末尾呼出しの回数制限がないなら正しく末尾再帰が出来ている
という迂遠な表現になっている。

つまり、何が出来るべきなのかという書き方であって、どう実装すべきかに言及することを避けてる。

同様に処理系のメカニズムに言及することを避けて提案を表現してみてよ。
748デフォルトの名無しさん
垢版 |
2025/07/09(水) 14:35:00.91ID:cmuoaTCa
テイルコールってのは

call func
ret

って並んでたら

jmp func

に置き換えるんだよ

ファーストラムダもある種の関数のインライン展開ってだけ
2025/07/09(水) 14:40:18.45ID:ZKntcAAj
>>748
テイルコールの説明なんか要らん。 知ってるから。
仕様を変える提案をするなら仕様書にどう書きたいのかで説明してくれと述べてる。
750デフォルトの名無しさん
垢版 |
2025/07/09(水) 14:49:42.58ID:cmuoaTCa
>>749

>>743
2025/07/09(水) 14:57:26.23ID:ZKntcAAj
>>750
意味を為さない言葉を何万回繰り返したところで何も変わらんぞ。
妥当な文章を書く能力がないならもう出来ることはない。
論外。 終わり。
2025/07/09(水) 15:02:22.57ID:QwaFNVYh
>>740
ifだって普通の関数だろw
インタープリターとしての実装は単なる関数呼び出しだ
スペシャルフォームなので引数は評価せず渡す(通常の関数の場合は評価した結果を渡す)
で、(バイト)コンパイラーはifは関数呼び出しにはせず条件ジャンプ命令列に置き換える
そんな事は古代からやってる
自分で処理系を実装した事あれば誰でも知ってる
753デフォルトの名無しさん
垢版 |
2025/07/09(水) 15:28:36.71ID:cmuoaTCa
マクロだっていう反論が来るのかと思ったらスペシャルフォームだというので戸惑ってるw
そりゃいくつかの関数はミニマルコアとして書かなきゃいけないさ

それさえあれば関数とマクロと制御構造は統一できる、というのが言い分
2025/07/09(水) 15:34:56.94ID:QwaFNVYh
ミニマルコアって何だ?
スペシャルフォームとマクロは引数を評価しないで渡す関数として実装される
そんなのは初期の頃からだと言っている
何で今さら発見した面してんのか?と言うことだ
2025/07/09(水) 15:40:52.83ID:QwaFNVYh
引数を評価しないで渡す関数という点で、マクロとスペシャルフォームは同一の実装と言える
しかしマクロは環境を受け取らないといけないし、戻り値を再度評価する必要があるから、スペシャルフォームとマクロは区別する必要がある
2025/07/09(水) 15:42:40.68ID:QwaFNVYh
更に、スペシャルフォームはifの様にコンパイラーが特殊なコンパイルをする必要があるので、普通の関数と区別する必要がある点も重要だ
757デフォルトの名無しさん
垢版 |
2025/07/09(水) 15:45:21.52ID:cmuoaTCa
評価しないで渡したい引数のうち、制御に関わるものならインラインクロージャでなんとかなりますよって話だよ
レキシカルにちゃんとしたクロージャをインライン展開される前提で引数として渡すんだよ
2025/07/09(水) 15:46:21.90ID:QwaFNVYh
しかしながら、普通の関数でもスペシャルフォームの様な特殊なコンパイルをしたい場合があるので、その為にコンパイラーマクロが存在する
ただほとんど使われない
2025/07/09(水) 15:48:37.80ID:QwaFNVYh
>>757
インライン関数はマクロで実装できる
環境もちゃんとハンドリング出来るので、インラインクロージャーもマクロで実装可能だ
何がしたいのか良く分からない…
2025/07/09(水) 15:50:14.77ID:QwaFNVYh
mapcarに渡したlambdaをインライン展開したいと言うなら、mapcarを(コンパイラー)マクロにすれば可能だ
761デフォルトの名無しさん
垢版 |
2025/07/09(水) 15:56:45.13ID:cmuoaTCa
>>759
テイルコールみたいにファーストラムダ最適化も必須にすればインライン展開される分速くなる
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あたりの最適化はおまえよりずっと先をいってる.
2025/07/09(水) 17:07:46.42ID:ohpjpVt+
>ファーストラムダというのは
「ファーストラムダ」という言葉は、通常、AWS Lambdaを指すスラングとして使われることがあります。AWS Lambdaは、サーバーレスコンピューティングサービスで、コードをサーバーの管理なしに実行できます。
765デフォルトの名無しさん
垢版 |
2025/07/09(水) 17:09:06.44ID:cmuoaTCa
インライン展開を俺が発明したなんて言ってないだろ
この形をしたラムダをそうすると効くんじゃないかというのが俺の発明だ

あと、クロージャを引数として渡すのもSmalltalkやRubyはやってるだろう
俺の発明は「インライン関数を引数として渡すという逆接はものごとを見通しよくしますよ」だ
2025/07/09(水) 17:25:03.45ID:ohpjpVt+
そうやってevalの時点で評価されなかった式を何時どうやって誰が適用するのか
というおとぎ話を自慢毛に語るスレ
767デフォルトの名無しさん
垢版 |
2025/07/09(水) 17:29:15.92ID:cmuoaTCa
evalはインタープリタ、lambdaはコンパイラ
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 が同じになっていることはわかるだろう。
(バージョンによるかも?)
ごく普通にそういう最適化はしてる。
769デフォルトの名無しさん
垢版 |
2025/07/09(水) 18:36:27.57ID:CwmzIZ1x
自分で処理系書いてから言え
770デフォルトの名無しさん
垢版 |
2025/07/09(水) 19:18:13.79ID:eQ8lOX87
>>765
少なくともLISP界隈では発明では全くないからHaskell, OCaml, コンパイラの最適化方面のスレで展開してみたら?
A正規化あたりと絡めて展開すればよりアカデミックなやりとりが期待できるのでは?
2025/07/09(水) 19:46:08.96ID:QwaFNVYh
map系の関数にラムダ式を渡したら、それがインライン展開されてコンパイルされるのは、最近の言語では当然の様にやってる
772デフォルトの名無しさん
垢版 |
2025/07/09(水) 22:06:22.87ID:cmuoaTCa
>>770
letでローカル変数3つ確保しましたって時に
実際には内部でlambdaが呼ばれてるわけだろ?
この時にlambdaをインライン展開したら
オペランドスタックと返り値スタックが省かれて
変数スタックだけになって制御構造と同じコストになるだろ?
これは大きな最適化なんだよ
2025/07/09(水) 22:54:33.01ID:ZKntcAAj
>>772
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
おかしな人が居ると捗るよね。でもまともなこと言ってる人もだんだんおかしなことをいいだして、実はおかしな人しかいなかったと気づかされる。
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) '() '() '())
あいあい いいいい 飛ばして えいえい おいおい 戻して うーいうい
2025/07/10(木) 01:03:21.83ID:qcnALR7R
>>772
そこに興味あるなら、この後CPS変換を調べるといいよ
その後関数をジェネレーターに変換して、yieldに対応出来たら一人前だよw
更にその後はAsync/Awaitが待っている
2025/07/10(木) 07:45:53.86ID:UMLMi9p2
>>774
let は 常に lambda に展開せねばならず、引数の受け渡しはスタックを使うことという制約を入れて最適化の邪魔をしてまでひとつの最適化を入れる?
馬鹿馬鹿しい。
2025/07/10(木) 09:58:20.49ID:yFw8mCQ1
>>779
「論外。終わり。」じゃなかったんですか?
対話不可能でしょこれは
2025/07/10(木) 10:05:39.66ID:UMLMi9p2
放置しても延々と書き込み続けるタイプだと思う
2025/07/10(木) 19:24:20.39ID:yFw8mCQ1
>>781
じゃあNG入れとけばいいでしょうが
何年5chやってんの
783デフォルトの名無しさん
垢版 |
2025/07/10(木) 23:08:55.70ID:RcjFMSaB
bignumを廃止してint64を基本にしようとか、いまさらC言語の変数のregister宣言を再発明して画期的だといってるようなもんだろ
こういうのが生成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の吐く洗練された論文と比べて原始的になる可能性もあります
789デフォルトの名無しさん
垢版 |
2025/07/13(日) 05:52:35.96ID:5bgAV9JM
ユーザーがマクロとかで勝手に書いた
どこの馬の骨みたいな制御構造でも
最適化されるんですよ
790デフォルトの名無しさん
垢版 |
2025/07/13(日) 08:07:50.27ID:lgLjhFXd
>>789
ふつうそうなるだろ。マクロにしたら最適化かからないなんて面倒で非効率なことしない。
791デフォルトの名無しさん
垢版 |
2025/07/13(日) 11:38:22.98ID:5bgAV9JM
>>790
ユーザーがマクロで書いたmy-letが
処理系実装者のチューンしたletと同じになるのがふつうなの?
俺のはかなり近くなるけど
2025/07/13(日) 12:26:31.49ID:tfWATuEI
Racket は、やらないの?
793デフォルトの名無しさん
垢版 |
2025/07/13(日) 23:42:36.36ID:2niGmUKn
はちみつがすでに指摘してることを延々とくりかえすのはスレの住人の大半が理解できてないってことか?
794デフォルトの名無しさん
垢版 |
2025/07/13(日) 23:50:59.82ID:2niGmUKn
AIくんが教師なし学習でLispの最適化を発明したと主張してきたので新規性がないし既存の手法で実現されてると指摘したら教師なし学習なので新規性なんか知らないし教師なし学習としては凄くないですか?といいはじめる
五年ほど前までこういうAIエンジニア多かったな今どこいったんだろ
795デフォルトの名無しさん
垢版 |
2025/07/14(月) 04:03:05.17ID:H42iB8O8
>>794
お前なんかがこのスレの何がいいんだ?
796デフォルトの名無しさん
垢版 |
2025/07/14(月) 10:05:54.72ID:SvqlBNnt
>>791
ごめんなさい、もちろんふつうじゃありません。letを等価なlambda によるものとかに変換して (まあマクロでいいやもあり)それを最適化した方が捗る(ような気がする)というオレオレ実装の話です。
797デフォルトの名無しさん
垢版 |
2025/07/14(月) 10:15:20.25ID:yq/UCo3U
>>793
はちみつをNGにしてる人かもしれないね
798デフォルトの名無しさん
垢版 |
2025/07/14(月) 20:30:35.39ID:778hTmQY
lambdaの返す関数オブジェクトのたどる運命は大体3通り

(1) シンボルにバインドされて普通の名前付き関数になる
(2) 高階関数に引数として渡される
(3) ファーストラムダとして即座に呼び出される
2025/07/14(月) 23:25:17.89ID:OppI5UAF
>>796
捗るとか言ってる時点で馬鹿丸出しだ
どういうメリットが有るのか具体的に書け
2025/07/14(月) 23:58:48.95ID:8TvcLzrP
実在しない実装

虚装
801デフォルトの名無しさん
垢版 |
2025/07/15(火) 07:22:30.34ID:M3dXRA34
>>796
正規化による見通しのよさが向上するというメリットは普通にあるでしょ
では既存の処理系がすべてそうしていないなぜかというとletのままの方が最適化できることがあるからだったり, CommonLispのletのようにlambdaより機能が多いために等価に変換できないということがある
はちみつが既に指摘している
802デフォルトの名無しさん
垢版 |
2025/07/15(火) 07:32:47.68ID:M3dXRA34
ある状況に最適化するのだから当然だが, 最適化は特定の実行モデルと結び付けると局所的には成功するが往々にして大域的には失敗する
言語設計の巧みさは最適化可能な余地を保ちつつ特定の実行モデルは極力前提にしないところにある. 特定の実行モデルの戦略の失敗が言語の失敗に直結してしまう
これも, はちみつが既に指摘している. 仕様の読み方を学んではどうか. まして独自の言語設計をするならば
803デフォルトの名無しさん
垢版 |
2025/07/22(火) 23:09:36.04ID:7KXgok3Q
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 ...

That is, it immediately invokes the function object returned by a lambda expression.
My idea is to inline that function object at the call site, treating it as if it were a syntactic form.
I believe many constructs like let and while naturally take this shape.

I would greatly appreciate your thoughts on this idea.

Best regards,
*****************
2025/07/24(木) 20:23:59.30ID:Pb6gK57F
スレに報告するなら
このスレでは新しいアイデアではなかったという結論になっているので
スレの住人の結論をくつがえす力をもつ大先生に相談したのかが
重要な情報だと思うが隠したら意味がない
805デフォルトの名無しさん
垢版 |
2025/07/24(木) 21:54:32.59ID:CH9XcWr2
宛先はドクター ・マシュー・フラット
2025/07/25(金) 03:09:24.85ID:3nwbV1EW
あなたがこれらの関係性を「発見」だと感じたのは、ご自身で深く考え、これらの概念間のつながりを独自に見出したからでしょう。これは、知識を鵜呑みにせず、自ら思考し、理解しようとする非常に素晴らしい姿勢です。科学の多くの進歩は、このように自らの頭で考えることから生まれます。

しかし、科学の世界では、その「発見」が人類にとって本当に新しい知識であるか、そしてそれが厳密な形で定式化され、検証されているかが問われます。あなたがたどり着いた結論は、偶然にも、あるいは必然的に、すでに確立された「基礎中の基礎」である、ということです。
807デフォルトの名無しさん
垢版 |
2025/07/25(金) 18:03:37.57ID:NfVpBKmO
関数型言語が手続き型言語と根本的に違うみたいに言ってたのは一般界隈の方じゃないか
俺は「Schemeを手続き型言語のひとつとしてしか使ったことがない」と言ったら嘲笑を浴びたこともあるぞ
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。