>>570
念のために補足しておくけど >>560 のケースは捕捉されないエラー
(現時点では捕捉することを意図的に諦めているエラー) であって
Gauche の仕様として正しいというわけではないよ。 結果は未定義。
直接的に書いてしまった場合にしてもマクロ展開結果でこうなるにしても
あくまでも誤っているプログラムだからね。
言いたかったのは >>557 に対してで、原理的に出来てもやらない事情の例として
(私は ECL のことは全然知らないので) Gauche での例を出したってだけ。
探検
Lisp Scheme Part41
571はちみつ餃子 ◆8X2XSCHEME
2023/01/11(水) 17:03:18.22ID:s0T2WgwN572デフォルトの名無しさん
2023/01/11(水) 17:40:33.93ID:/IOcm4EW >>571
どうも、俺のも原理的には…という同じ意図の話だよ
eclやgaucheが有名実装では最もアグレッシブな感じなのかな?
(declaim (optimize (speed 0) debug safety)
が外せない俺には怖くて触れないよ
どうも、俺のも原理的には…という同じ意図の話だよ
eclやgaucheが有名実装では最もアグレッシブな感じなのかな?
(declaim (optimize (speed 0) debug safety)
が外せない俺には怖くて触れないよ
573デフォルトの名無しさん
2023/01/11(水) 18:02:49.87ID:/IOcm4EW なおeclのlocked package?の件、標準の宣言を全て付けても有効な模様…
574デフォルトの名無しさん
2023/01/11(水) 18:12:33.46ID:qLQaVlgq notinlineも効かないし独自機構だな
575はちみつ餃子 ◆8X2XSCHEME
2023/01/14(土) 01:01:49.57ID:9ctkhBjT >>572
> 有名実装では最もアグレッシブ
そんなことはないんじゃないかな。。
実行前の処理に時間をかけない (かけても総合的な性能向上にならない) という
判断でエラーチェックに消極的だけど最適化にも消極的だから。
> 有名実装では最もアグレッシブ
そんなことはないんじゃないかな。。
実行前の処理に時間をかけない (かけても総合的な性能向上にならない) という
判断でエラーチェックに消極的だけど最適化にも消極的だから。
576本田
2023/01/25(水) 23:58:21.43ID:PahnnjBC UCB Scheme
https://people.eecs.berkeley.edu/~bh/61a-pages/Scheme/
UCB Scheme is a modified version of STk 4.0.1 by Erick Gallesio.
https://people.eecs.berkeley.edu/~bh/61a-pages/Scheme/
UCB Scheme is a modified version of STk 4.0.1 by Erick Gallesio.
577デフォルトの名無しさん
2023/01/26(木) 19:06:40.12ID:lq03KzKz USB Schemeじゃないのか
どっちかって言えばUSB Schemeが欲しいのだが
どっちかって言えばUSB Schemeが欲しいのだが
578デフォルトの名無しさん
2023/01/28(土) 14:07:46.81ID:BDgiT21v579本田
2023/01/29(日) 22:24:48.67ID:XMFhzyDs580はちみつ餃子 ◆8X2XSCHEME
2023/01/30(月) 00:59:07.34ID:kRDQpz8S そのリンクがどうしたっていうんだ?
何か思うところがあるなら話題に挙げるのはかまわんが
ただリンクを置いて去るのはやめて欲しいな。
ニュース系のネタならお知らせの意味で貼ったのかなと思うところだが、
そういう感じでもないみたいだしな。
何か思うところがあるなら話題に挙げるのはかまわんが
ただリンクを置いて去るのはやめて欲しいな。
ニュース系のネタならお知らせの意味で貼ったのかなと思うところだが、
そういう感じでもないみたいだしな。
581デフォルトの名無しさん
2023/01/30(月) 19:13:37.70ID:prACFehy そもそもダイナミックスコープの何がだめですか
Emacs lispはダイナミックスコープですが、
あちこちから呼ばれてる関数を、空関数で上書きして殺すとかできて便利です
Emacs lispの感覚でGIMPのスクリプト(scheme)を書こうとすると
なにか何でもかんでもラッパー渡し(いちいちcarをひとつ辿る)って感じです
ちなみにLispは普通の手続き型言語としてしか使ったことないです
そんな奴への説教とかあったら聞きたいです
マクロとか、「確かにif文を関数として実装するのは無理かもしれないし、
そういう時に使うのかな」くらいにしか解ってないです
Emacs lispはダイナミックスコープですが、
あちこちから呼ばれてる関数を、空関数で上書きして殺すとかできて便利です
Emacs lispの感覚でGIMPのスクリプト(scheme)を書こうとすると
なにか何でもかんでもラッパー渡し(いちいちcarをひとつ辿る)って感じです
ちなみにLispは普通の手続き型言語としてしか使ったことないです
そんな奴への説教とかあったら聞きたいです
マクロとか、「確かにif文を関数として実装するのは無理かもしれないし、
そういう時に使うのかな」くらいにしか解ってないです
582デフォルトの名無しさん
2023/01/30(月) 19:45:34.45ID:w7gs7hNq >>581
全然ダメじゃないよ。でも誰か(昨日のオレ)が余計なことをやって不審な挙動をしてるけど原因がさっぱり分からないというのは起こりやすいかもしれない。
全然ダメじゃないよ。でも誰か(昨日のオレ)が余計なことをやって不審な挙動をしてるけど原因がさっぱり分からないというのは起こりやすいかもしれない。
583デフォルトの名無しさん
2023/01/31(火) 01:40:41.84ID:t9l1A9G+ Lispではたまたまうまく動いてるように見えるけど変数宣言の無い言語でダイナミックスコープやると死ぬ
584はちみつ餃子 ◆8X2XSCHEME
2023/01/31(火) 10:19:46.67ID:XA5Y5Qfu >>581
元のプログラムを書き換えずに影響を差し込むことが出来るってのはアプリケーション拡張用として便利だけれど
元のプログラムが想定してない滅茶苦茶なことも出来ちゃうということと最適化が困難になるのが深刻な問題だと思う。
ユーザーが変な使い方をして変なことを起こす分には自業自得といえるにしても
今ではパッケージをネット上からダウンロードしてインストールまで自動だから
悪意あるコードが他のパッケージを好きなように変更できるようだと影響範囲が大きい。
たとえばウェブブラウザのアドオンなんかだど各アドオンは通信によって協調は出来るが
環境は共有しないようにすることで影響力を制限している。
参照しているものがことごとくいつでも変更される可能性があると
インライン化や畳み込みといったごく基本的な (しかし効果が高い) 最適化すらできない。
現代的な言語処理系に対して数十倍単位で遅いのはさすがに困る。
ものごとの良し悪しにはトレードオフがある。
どちらの問題もコードが小規模ならどうということはないので利点のほうが上回っていたのかもしれないが、
時代を経て巨大になりすぎた。 疎結合を意識した構成にしないと手に負えない。
元のプログラムを書き換えずに影響を差し込むことが出来るってのはアプリケーション拡張用として便利だけれど
元のプログラムが想定してない滅茶苦茶なことも出来ちゃうということと最適化が困難になるのが深刻な問題だと思う。
ユーザーが変な使い方をして変なことを起こす分には自業自得といえるにしても
今ではパッケージをネット上からダウンロードしてインストールまで自動だから
悪意あるコードが他のパッケージを好きなように変更できるようだと影響範囲が大きい。
たとえばウェブブラウザのアドオンなんかだど各アドオンは通信によって協調は出来るが
環境は共有しないようにすることで影響力を制限している。
参照しているものがことごとくいつでも変更される可能性があると
インライン化や畳み込みといったごく基本的な (しかし効果が高い) 最適化すらできない。
現代的な言語処理系に対して数十倍単位で遅いのはさすがに困る。
ものごとの良し悪しにはトレードオフがある。
どちらの問題もコードが小規模ならどうということはないので利点のほうが上回っていたのかもしれないが、
時代を経て巨大になりすぎた。 疎結合を意識した構成にしないと手に負えない。
585デフォルトの名無しさん
2023/01/31(火) 10:34:59.12ID:tSjB9eWW グローバル&ダイナミックは罠になり得るけど、対話的に使うコマンド言語(シェル)は大体そうだし利便性の問題、新しいpwshでももそう
定義をテキストとして全てダンプして、読み戻せる利点がある
cl/scheme(fluid-letとかそんな名前の拡張)のように基本レキシカルで、ローカル&ダイナミックは宣言が必要なら意図せず使う事は稀なはず
(form-in-scope? (declare (special x)) form-in-scope)
(locally (declare (special x)) (form-in-scope))
面倒だけど(declare…)が外、つまり同じレベルのフォームに影響する場合があるのが気持ち悪いから、明示的な後者を好む
定義をテキストとして全てダンプして、読み戻せる利点がある
cl/scheme(fluid-letとかそんな名前の拡張)のように基本レキシカルで、ローカル&ダイナミックは宣言が必要なら意図せず使う事は稀なはず
(form-in-scope? (declare (special x)) form-in-scope)
(locally (declare (special x)) (form-in-scope))
面倒だけど(declare…)が外、つまり同じレベルのフォームに影響する場合があるのが気持ち悪いから、明示的な後者を好む
586デフォルトの名無しさん
2023/01/31(火) 10:56:14.75ID:tSjB9eWW レキシカルな情報を取り込んでしまう(暗黙にクロージャを作る)クロージャにはテキスト表現が無いから、ダンプが出来ないのは致命的な欠点
よってダイナミックスコープ一択になる
pwshだと gci function:
bashだとdeclare -f (多分、よく知らん)
でダンプ、出力されるテキストを読み直せば(大体)環境が復元できる
pwsh方式だと{code}.GetNewClosure()でクロージャは明示的に得る
よってダイナミックスコープ一択になる
pwshだと gci function:
bashだとdeclare -f (多分、よく知らん)
でダンプ、出力されるテキストを読み直せば(大体)環境が復元できる
pwsh方式だと{code}.GetNewClosure()でクロージャは明示的に得る
587デフォルトの名無しさん
2023/01/31(火) 11:08:10.67ID:tSjB9eWW588はちみつ餃子 ◆8X2XSCHEME
2023/01/31(火) 11:28:43.20ID:XA5Y5Qfu >>587
GIMP の Scheme (Script-fu) は TinyScheme が使われている。 (昔は SIOD だった。)
まあ fluid-let くらいなら自分で書いてもたいした手間じゃないけどね。
GIMP の Scheme (Script-fu) は TinyScheme が使われている。 (昔は SIOD だった。)
まあ fluid-let くらいなら自分で書いてもたいした手間じゃないけどね。
589デフォルトの名無しさん
2023/01/31(火) 11:31:05.15ID:cAwVb56Q #<closure ...>が嫌ならいにしえのfunargを使えばok
別にレキシカル環境をリストで持ったって構わないわけで、印字表現が不透明なlispはインクリメンタルコンパイルやリストより効率の良いデータ構造を選んだ結果
厳密にはダイナミックスコープでないけれど、コード注入なら'ラムダ式を渡して廻っても同等の自由が得られる(call by name)
既存のコードの方でも準備が必要だけど
別にレキシカル環境をリストで持ったって構わないわけで、印字表現が不透明なlispはインクリメンタルコンパイルやリストより効率の良いデータ構造を選んだ結果
厳密にはダイナミックスコープでないけれど、コード注入なら'ラムダ式を渡して廻っても同等の自由が得られる(call by name)
既存のコードの方でも準備が必要だけど
590デフォルトの名無しさん
2023/01/31(火) 11:33:22.79ID:tSjB9eWW >>588
ええ…gnu公式の拡張言語とは一体なんだったのか
ええ…gnu公式の拡張言語とは一体なんだったのか
591はちみつ餃子 ◆8X2XSCHEME
2023/01/31(火) 12:23:06.03ID:XA5Y5Qfu >>590
アプリケーションに特有の機能はアプリケーション側で用意されたものを呼出して使うわけだし
言語側のライブラリはほどほどで足りるんで小さい処理系のほうが面倒がないというのはあるかも。
Guile はビルドするだけで面倒くさいが TinyScheme はファイル数個の簡単構成だし。
アプリケーションに特有の機能はアプリケーション側で用意されたものを呼出して使うわけだし
言語側のライブラリはほどほどで足りるんで小さい処理系のほうが面倒がないというのはあるかも。
Guile はビルドするだけで面倒くさいが TinyScheme はファイル数個の簡単構成だし。
592デフォルトの名無しさん
2023/01/31(火) 12:38:01.83ID:mFP57axK ローカルにダイナミックな束縛をやるなら、それ専用のprogvフォーム(clにある)はどう思われてるんだろ?
(progv 変数リスト
値リスト
body)
let系列の (変数 値)リスト慣習を転置(zip)した記法だけど、束縛が多くても縦にスペースを取らない
let慣習では変数 値はsetq/set!だけど、progvの変数リストは評価されるから、リード時にバッククオートでシンボルを埋め込むようなハックが不要
動的束縛を活用するようなメタな場面では特にだけど、埋め込む為だけにわざわざリーダを何度も通すのが歯痒い
多分に個人的な好みだと思うけど
(progv 変数リスト
値リスト
body)
let系列の (変数 値)リスト慣習を転置(zip)した記法だけど、束縛が多くても縦にスペースを取らない
let慣習では変数 値はsetq/set!だけど、progvの変数リストは評価されるから、リード時にバッククオートでシンボルを埋め込むようなハックが不要
動的束縛を活用するようなメタな場面では特にだけど、埋め込む為だけにわざわざリーダを何度も通すのが歯痒い
多分に個人的な好みだと思うけど
593デフォルトの名無しさん
2023/01/31(火) 13:07:01.68ID:tSjB9eWW >>592
転置されてるのと束縛リストの実行時評価は、おそらくlet風のマクロを書く時に便利だからかな
mapcar #'list let-like-binding-list
がprogvに渡せて、あと欠損値も勝手にnilで埋まる
あと機械的に名前を処理するならgensymもお忘れなく
転置されてるのと束縛リストの実行時評価は、おそらくlet風のマクロを書く時に便利だからかな
mapcar #'list let-like-binding-list
がprogvに渡せて、あと欠損値も勝手にnilで埋まる
あと機械的に名前を処理するならgensymもお忘れなく
594デフォルトの名無しさん
2023/01/31(火) 13:18:26.31ID:tSjB9eWW 例が悪かった
単にlistをmapcarするだけでは、let形式のリストをそのまま渡した方が早い
不定数の引数を取ってリストを返す関数で、自明なlist以外をmapcarするならかなり楽が出来るはず
しかし何に便利か今すぐ具体的な例は思い付かない()
単にlistをmapcarするだけでは、let形式のリストをそのまま渡した方が早い
不定数の引数を取ってリストを返す関数で、自明なlist以外をmapcarするならかなり楽が出来るはず
しかし何に便利か今すぐ具体的な例は思い付かない()
595デフォルトの名無しさん
2023/01/31(火) 14:00:30.21ID:tSjB9eWW596デフォルトの名無しさん
2023/01/31(火) 14:46:13.56ID:CmTey6Bh GNUは昔から他人の成果物の丸パクリしか脳が無い団体だよ
597デフォルトの名無しさん
2023/01/31(火) 15:18:25.22ID:AYYg8Thv emacsの膨大なテキスト処理関数群に依存していない純ロジックのみのelispコードなら資産になる
そんなの指折り数える量だろう
そんなの指折り数える量だろう
598デフォルトの名無しさん
2023/01/31(火) 15:38:47.41ID:sZCc+g+m ライセンス問題でどうしてもコードを触りたくないなら別だけど
何らかのlisp書きであれば、コピペしてその方言に適合するよう手直しする程度は自明な作業でしょう
何らかのlisp書きであれば、コピペしてその方言に適合するよう手直しする程度は自明な作業でしょう
599はちみつ餃子 ◆8X2XSCHEME
2023/02/01(水) 01:45:17.62ID:ySbq2UIa >>598
ダイナミックスコープとレキシカルスコープでは埋めがたい差があるし、モジュールやフェイズの方針なども大きな差だ。
伝統的に方言と称してはいるが個々に定義された別の言語なのでそんなに簡単に修正は出来ないよ。
私自身はそこそこ Scheme には習熟している自信があるが Common Lisp も Clojure も全然わからん。
C と JavaScript の外観はなんとなく似せてあるが静的型と動的型の違いという根本的な部分で違うからそう簡単に移植はできないのと同じような感じ。
ダイナミックスコープとレキシカルスコープでは埋めがたい差があるし、モジュールやフェイズの方針なども大きな差だ。
伝統的に方言と称してはいるが個々に定義された別の言語なのでそんなに簡単に修正は出来ないよ。
私自身はそこそこ Scheme には習熟している自信があるが Common Lisp も Clojure も全然わからん。
C と JavaScript の外観はなんとなく似せてあるが静的型と動的型の違いという根本的な部分で違うからそう簡単に移植はできないのと同じような感じ。
600デフォルトの名無しさん
2023/02/01(水) 06:05:03.14ID:BjxytPYm いっそ Emacs そのまま組み込んじゃうとかそんな方向に進まないかな…
近頃の環境ならそんなに重くないはずだし。
近頃の環境ならそんなに重くないはずだし。
601デフォルトの名無しさん
2023/02/01(水) 14:47:30.69ID:MmorO90J >>600
やってできなくはないのかもしれないよ
昔、zlibがまだなかった時代にDOSでzオプションの利くtarを使いたくて、
仕方なくtarとgzipをまとめて一つのバイナリにリンクしてしまって、
スタートアップでヒープを半分に割って、スタックをそれぞれに割り振って、
あとはバッファが一杯になるたびにtar側とgzip側をsetjmpとlongjmpで行ったり来たり、
解凍は問題ないんだけど圧縮がどうしても同じ結果にならなくて、発表せず一人で使ってた
やってできなくはないのかもしれないよ
昔、zlibがまだなかった時代にDOSでzオプションの利くtarを使いたくて、
仕方なくtarとgzipをまとめて一つのバイナリにリンクしてしまって、
スタートアップでヒープを半分に割って、スタックをそれぞれに割り振って、
あとはバッファが一杯になるたびにtar側とgzip側をsetjmpとlongjmpで行ったり来たり、
解凍は問題ないんだけど圧縮がどうしても同じ結果にならなくて、発表せず一人で使ってた
602デフォルトの名無しさん
2023/02/11(土) 19:10:46.38ID:iYjc3QSL オレオレSchemeでMineSweeper
ソースがSchemeで書かれている
ttp://ujip.ninja-web.net/schemeonjs/minesweeper.html
ソースがSchemeで書かれている
ttp://ujip.ninja-web.net/schemeonjs/minesweeper.html
603デフォルトの名無しさん
2023/02/11(土) 20:04:34.26ID:6efBUOB/ だからなんやねん
つか何年前から来たの?ってレベルの話だろ
つか何年前から来たの?ってレベルの話だろ
604デフォルトの名無しさん
2023/02/15(水) 12:56:30.42ID:Iq74I464 目くじら立てることかよ
605デフォルトの名無しさん
2023/03/05(日) 13:42:32.16ID:nmaj3sub オンラインでuLisp動かしてみようかとTinkerCADのArduonoUnoにソースコード流し込んでみたけどさすがに5000行は許してもらえないみたいだな。
606デフォルトの名無しさん
2023/04/24(月) 08:39:19.08ID:AD1D3xO/ 最適化されたCLは最適化されていないCよりは速い
昔Common LispでCより速いHTTPパーサを書いたとか言ってたのを見かけた
コードを見るとnodejsのCで書かれたHTTPパーサをパクったみたいな感じなのに
比較対象はなぜかどっかの個人がCで書いたHTTPパーサだった
その個人が晒してたソースのMakefileはデフォルトでは最適化なし
なぜ比較する前にCの方を最適化することを思いつかなかったのだろうか
というかなんでnodjsの方と比較しなかったんだ?
誰か理由わかります?
昔Common LispでCより速いHTTPパーサを書いたとか言ってたのを見かけた
コードを見るとnodejsのCで書かれたHTTPパーサをパクったみたいな感じなのに
比較対象はなぜかどっかの個人がCで書いたHTTPパーサだった
その個人が晒してたソースのMakefileはデフォルトでは最適化なし
なぜ比較する前にCの方を最適化することを思いつかなかったのだろうか
というかなんでnodjsの方と比較しなかったんだ?
誰か理由わかります?
607デフォルトの名無しさん
2023/04/24(月) 08:46:06.25ID:Z0B9bFh/ なぞなぞかな
608デフォルトの名無しさん
2023/04/25(火) 20:39:53.26ID:wy/j7fQc おじいちゃんそろそろマクロを飲む時間ですよ
609デフォルトの名無しさん
2023/05/24(水) 21:31:48.49ID:w5+jyJkb 氏のイキリ芸でしょ
610デフォルトの名無しさん
2023/06/20(火) 13:38:32.61ID:Dvlv0UV+ scheme処理系作ったりSICPで悟り開いたりしたけど今の使い方は実質電卓
スペース区切りの値そのまま貼り付けられて便利なんよなー
スペース区切りの値そのまま貼り付けられて便利なんよなー
611デフォルトの名無しさん
2023/08/18(金) 02:03:46.68ID:dtVdNVwB John Cowan 氏が R7RS-large の議長の座を降りることを表明した模様。
これからの体制については現時点は決まっていない。
これからの体制については現時点は決まっていない。
612デフォルトの名無しさん
2023/08/19(土) 10:24:26.69ID:L0GsKMkM 実質機能しない規格なんて不要
主要処理系の実態調査して
ANSI Common Schemeを策定すべき
主要処理系の実態調査して
ANSI Common Schemeを策定すべき
613デフォルトの名無しさん
2023/08/19(土) 20:44:33.82ID:2cGgFupU 実用的で無い言語にANSI規格とか要らないだろ
それより、Type Script 普通に良い言語だぞ、
あれ実質的に型付きのlispだわ
それより、Type Script 普通に良い言語だぞ、
あれ実質的に型付きのlispだわ
614デフォルトの名無しさん
2023/08/20(日) 18:08:19.00ID:Jez4Fpf5 「Type Scriptはlisp」発言頂きましたー
615デフォルトの名無しさん
2023/08/20(日) 18:21:02.18ID:P3ytobrG JavaScriptがそもそもschemeだし。
616デフォルトの名無しさん
2023/08/20(日) 21:24:26.60ID:CVtYBdI9617デフォルトの名無しさん
2023/08/28(月) 22:32:35.76ID:ZDIe4Rjo618デフォルトの名無しさん
2023/09/03(日) 20:41:45.72ID:ApaaLf4l Chez Scheme の 9.6.2 が五日前にリリースされていた。
619はちみつ餃子 ◆8X2XSCHEME
2023/10/04(水) 15:56:06.86ID:DlO9V8Bc Gauche 0.9.13 のリリース候補が出た。
問題ありそうな部分や要望があるなら今のうちに出しとくといいよ。
https://sourceforge.net/p/gauche/mailman/message/41039777/
問題ありそうな部分や要望があるなら今のうちに出しとくといいよ。
https://sourceforge.net/p/gauche/mailman/message/41039777/
620デフォルトの名無しさん
2023/10/06(金) 07:52:06.47ID:Gz/JU6Xd Gauche1.0.0 !! 早く来てくれーーー!!!
621デフォルトの名無しさん
2023/10/06(金) 23:46:32.54ID:WmRjQTiM Gaucheの目的が何なのか知らんけど
それが達成されるまで1.0にならんのだろうな
それが達成されるまで1.0にならんのだろうな
622はちみつ餃子 ◆8X2XSCHEME
2023/10/07(土) 09:12:48.49ID:xYnVrult Gauche のバージョンナンバーの予定はここにかいてある。
http://practical-scheme.net/gauche/devinfo-j.html
具体的な基準ではないので(ユーザーの意見を聞きつつ)開発者が納得する完成度になればメジャーバージョンもあがるってことだろ。
http://practical-scheme.net/gauche/devinfo-j.html
具体的な基準ではないので(ユーザーの意見を聞きつつ)開発者が納得する完成度になればメジャーバージョンもあがるってことだろ。
623デフォルトの名無しさん
2023/10/07(土) 15:21:49.73ID:GRsLaML4 「Gauche 1.0」って文字列の違和感がすごい
624デフォルトの名無しさん
2023/10/07(土) 23:47:40.08ID:c4CFtcBt 要望ね。schemeは処理系としては構造が簡単だから適当に作ってもそこそこ良い具合に出来上がるだろうが、
問題はその後で、処理系の方向性を決める必要がある。処理系作るってことは目標が既に設定されている場合もあるが、
他人に使って欲しいのであるなら例えばpythonライブラリ流用できるとか.NETでGUIアプリ簡単に作れますとかwebだとか生成AIで何かいけるとかそんなのだね
俺がGaucheの名前を知りながら長年ほぼ触ったことないのはその辺りが原因だよ
問題はその後で、処理系の方向性を決める必要がある。処理系作るってことは目標が既に設定されている場合もあるが、
他人に使って欲しいのであるなら例えばpythonライブラリ流用できるとか.NETでGUIアプリ簡単に作れますとかwebだとか生成AIで何かいけるとかそんなのだね
俺がGaucheの名前を知りながら長年ほぼ触ったことないのはその辺りが原因だよ
625はちみつ餃子 ◆8X2XSCHEME
2023/10/08(日) 01:14:49.29ID:tCGlxsdd Gauche の目標設定はトップに書かれている。
http://practical-scheme.net/gauche/index-j.html
要するにスクリプト言語として常識的に必用とされる機能を盛り込んで日常業務に使える Scheme 処理系を目指すってことだ。
英語の「日常会話程度」が専門的な会話より難易度が高いなどといわれることもあるように「普通に使える」ってのは何か特徴的な売り文句があるより大変だったりもする。
Gauche は作者自身が業務で使ってるわけだから特化するより万能寄りのデザインなんだろう。
個人的には日本語テキストを不自由なく扱えるのがありがたいね。開発が始まったきっかけも stk で日本語を扱えなかったかららしいし、そこらへんは力が入ってると思う。
http://practical-scheme.net/gauche/index-j.html
要するにスクリプト言語として常識的に必用とされる機能を盛り込んで日常業務に使える Scheme 処理系を目指すってことだ。
英語の「日常会話程度」が専門的な会話より難易度が高いなどといわれることもあるように「普通に使える」ってのは何か特徴的な売り文句があるより大変だったりもする。
Gauche は作者自身が業務で使ってるわけだから特化するより万能寄りのデザインなんだろう。
個人的には日本語テキストを不自由なく扱えるのがありがたいね。開発が始まったきっかけも stk で日本語を扱えなかったかららしいし、そこらへんは力が入ってると思う。
626デフォルトの名無しさん
2023/10/08(日) 12:59:35.92ID:SlOLtELZ schemeを好きで使ってるやつって俺含めて既に自分の処理系は持ってると思うのだが、
自分の欲しい機能を満たせばそれ以上求めないし、その成果を踏み台に次のステップへ階段を上がるだろう
階段を上った末、他人に使わせる場面に出くわす事は良くある事で、その時それはschemeではなくなってた方が良いかもしれない
新人「えーなにこの括弧だらけ…今のトレンド?か、かっこいいですねワラワラワラ(辞めよ…)」
業務で使ったら他人を辞めさせる能力については万能になれるか
自分の欲しい機能を満たせばそれ以上求めないし、その成果を踏み台に次のステップへ階段を上がるだろう
階段を上った末、他人に使わせる場面に出くわす事は良くある事で、その時それはschemeではなくなってた方が良いかもしれない
新人「えーなにこの括弧だらけ…今のトレンド?か、かっこいいですねワラワラワラ(辞めよ…)」
業務で使ったら他人を辞めさせる能力については万能になれるか
627はちみつ餃子 ◆8X2XSCHEME
2023/10/13(金) 02:28:23.22ID:ZG3aaQwo Gauche 0.9.13 がリリースされたやで
628デフォルトの名無しさん
2023/10/13(金) 12:37:28.90ID:p9b8Kc4m 次のリリースはついに1.0だと>Gauche
お祝いしなきゃ
お祝いしなきゃ
629はちみつ餃子 ◆8X2XSCHEME
2023/10/13(金) 15:24:17.01ID:ZG3aaQwo expecting ってのがどのくらいの確信なのか感覚的にわからないのだけど
一応の既定路線くらいには考えていいんかな?
一応の既定路線くらいには考えていいんかな?
630デフォルトの名無しさん
2023/10/13(金) 19:25:12.51ID:79LHTXDX しらんがな
どうせ本人もここ見てるだろうが質問あるなら直接本人に聞けよ
答え難いだろうが
どうせ本人もここ見てるだろうが質問あるなら直接本人に聞けよ
答え難いだろうが
631はちみつ餃子 ◆8X2XSCHEME
2024/01/25(木) 17:23:17.38ID:d9W0b5Ok 諸事情で Gauche 0.9.14 が出ることになってリリース候補が来たよ。
https://sourceforge.net/p/gauche/mailman/message/58728292/
https://sourceforge.net/p/gauche/mailman/message/58728292/
632はちみつ餃子 ◆8X2XSCHEME
2024/02/07(水) 15:30:34.72ID:kuiQPbhX Chez Scheme 10.0.0 リリースきた
https://github.com/cisco/ChezScheme/releases/tag/v10.0.0
サポートするアーキテクチャが増えたってのと、
そこにポータブルな仮想マシンも追加されたというのが
かなり大きい変更点らしい。
https://github.com/cisco/ChezScheme/releases/tag/v10.0.0
サポートするアーキテクチャが増えたってのと、
そこにポータブルな仮想マシンも追加されたというのが
かなり大きい変更点らしい。
633デフォルトの名無しさん
2024/02/12(月) 11:47:40.17ID:QDPVm8Ph GuileとGaucheって、VMインタープリタ、Cプログラムとの連携・拡張、オブジェクト指向あり、もともとR5RS。
フリーソフトウエアやライセンスという点以外は、言語・実装の方向性としては似ているように思いました。
Gaucheが、BSDライセンス版Guileのような感じがしたのですが、みなさんどう思いますか?
フリーソフトウエアやライセンスという点以外は、言語・実装の方向性としては似ているように思いました。
Gaucheが、BSDライセンス版Guileのような感じがしたのですが、みなさんどう思いますか?
634デフォルトの名無しさん
2024/02/12(月) 21:51:49.83ID:nqAntR6Y ガイル?
635デフォルトの名無しさん
2024/02/14(水) 00:54:24.29ID:4sDroV5Y636デフォルトの名無しさん
2024/02/14(水) 01:07:02.25ID:Im++FRGi ガイルがいる
637はちみつ餃子 ◆8X2XSCHEME
2024/02/15(木) 01:35:34.01ID:x2y7hFPc Sagittarius 0.9.11 も来たよ〜〜〜。
https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Release%20Note%200.9.11
Sagittarius は暗号通信系に強いね。
作者はオランダの銀行システムに関与する技術者だそうなのでその経験が活かされてるんだろう。
https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Release%20Note%200.9.11
Sagittarius は暗号通信系に強いね。
作者はオランダの銀行システムに関与する技術者だそうなのでその経験が活かされてるんだろう。
638デフォルトの名無しさん
2024/04/08(月) 00:42:38.05ID:skM/lEty 【検証】40時間Lispを勉強したら信者になれる?【Lisp1】
https://youtu.be/V2GM9lR-Di0
Lispの勉強をしたら『葬送のフリーレン』と同じカタルシスが待っていた。【Lisp2】
https://youtu.be/JvsSt_ksKiw
https://youtu.be/V2GM9lR-Di0
Lispの勉強をしたら『葬送のフリーレン』と同じカタルシスが待っていた。【Lisp2】
https://youtu.be/JvsSt_ksKiw
639デフォルトの名無しさん
2024/04/08(月) 00:43:02.37ID:skM/lEty 面白かったのでw
640デフォルトの名無しさん
2024/04/08(月) 02:59:37.49ID:7blvdNRP 神の言語からschemeを経て生まれたjavascriptは人間にとってはちょうどいいバランスだったわけだな
641デフォルトの名無しさん
2024/04/08(月) 19:16:08.79ID:85I3gne8 >>638
めっちゃ面白かったw
めっちゃ面白かったw
642デフォルトの名無しさん
2024/04/11(木) 10:36:33.17ID:8Rm0X/WO それの前にポールグレアムいじり回が3回あって
それで「Lispがそんなにすごいなら」ってことで40時間勉強したというわけだねw
それで「Lispがそんなにすごいなら」ってことで40時間勉強したというわけだねw
643デフォルトの名無しさん
2024/04/11(木) 23:22:35.79ID:0Tmkq/lZ ポールグレって本職の人じゃなかったんだな
すごい熱量な感じなのに
すごい熱量な感じなのに
644デフォルトの名無しさん
2024/04/12(金) 00:31:32.72ID:H7gFN+op MIT卒でLispで儲けたあと、ベンチャーキャピタルになった元本職かな
645デフォルトの名無しさん
2024/04/12(金) 11:49:20.24ID:nR+PqPBt エッセイストだと思うけどマとしては通販サイトとか作ってたんだっけ
ただ小さな関数やマクロutilが集まったonlisp.lispは準標準関数的な感じで愛用してます
ただ小さな関数やマクロutilが集まったonlisp.lispは準標準関数的な感じで愛用してます
646デフォルトの名無しさん
2024/04/12(金) 12:38:02.80ID:wZ+y5Ko5 そもそもハッカーであるかにガンガンプロダクト作る的な意味での本職マか否かは関係ないと思うのです
cl&schemeの根幹や文書化のみならずC, Java, Fortran委員まで勤めた皆のSteele先生だって何作ったか寡聞にして知らんくらいだし
最近ではC,AWK,Goのバイブル+作法本で鳴らしたKernighan御大も隠居してエッセイストやってる
言語本+エッセイで良い書き物できるのがハッカーの十分条件だと思うね、pgrahamも余裕で該当
cl&schemeの根幹や文書化のみならずC, Java, Fortran委員まで勤めた皆のSteele先生だって何作ったか寡聞にして知らんくらいだし
最近ではC,AWK,Goのバイブル+作法本で鳴らしたKernighan御大も隠居してエッセイストやってる
言語本+エッセイで良い書き物できるのがハッカーの十分条件だと思うね、pgrahamも余裕で該当
647デフォルトの名無しさん
2024/04/12(金) 12:45:09.54ID:wZ+y5Ko5 K御大にはUnixという特大のプロダクトが
648デフォルトの名無しさん
2024/04/12(金) 13:27:33.28ID:vAI6Kzu4 プリンストンで教授やってるみたい
649デフォルトの名無しさん
2024/04/12(金) 14:17:26.15ID:XxWOnWTK おれはlispはスゴイ神の言語とかくっさいワナビ主張は大嫌いだけど、lispはハッカー言語という主張には賛同したい
名だたるスーパーハッカーの共通部分を探してみると、それはシンタックス/セマンティクスに対する深い理解、すなわち言語デザイン能力なんだよな
まあlispの専売特許でなくML系やHaskellもそうだけど、つまりDSLの書きやすさね
別に言語内完結に拘らずともlex/yaccでも処理系手書きでもいいが、言語内で完結したいなら好ましい
挙げられてるPaul GrahamやG.L.Steeleのような簡潔で一貫性のある手続きインターフェイスや構文の設計(言語デザインのみならず、むしろ日常の構造化プログラミングにより通ずる)には、それを自然言語に起こしながら深く考え推敲する経験が必須だろう
これがハッカーの必要条件だと思う(>>646の十分条件に対して)
名だたるスーパーハッカーの共通部分を探してみると、それはシンタックス/セマンティクスに対する深い理解、すなわち言語デザイン能力なんだよな
まあlispの専売特許でなくML系やHaskellもそうだけど、つまりDSLの書きやすさね
別に言語内完結に拘らずともlex/yaccでも処理系手書きでもいいが、言語内で完結したいなら好ましい
挙げられてるPaul GrahamやG.L.Steeleのような簡潔で一貫性のある手続きインターフェイスや構文の設計(言語デザインのみならず、むしろ日常の構造化プログラミングにより通ずる)には、それを自然言語に起こしながら深く考え推敲する経験が必須だろう
これがハッカーの必要条件だと思う(>>646の十分条件に対して)
650デフォルトの名無しさん
2024/04/12(金) 15:01:50.67ID:wZ+y5Ko5 >>648
もう80才超えてるし、教鞭執れてるかは怪しいね…
最近プログラム書いてねえなあ、とかウェブで言ってたし
代わりに最近のエッセイ本はマ/CSというより一般人向けっぽいので食指動かず
Understanding the Digital WorldシリーズとかDefending Yourself in a World of Too Many Numbersとかそんな題の書いてる
ソフトウェア作法、プログラミング書法、プログラミング作法の現場で戦うプログラマーの為の三部作は素晴らしい、言語に縛られない(あえて題材は様々な言語)し、lispにも通ずる普遍的な知恵袋だよ
スレチなのでそろそろこの辺で
もう80才超えてるし、教鞭執れてるかは怪しいね…
最近プログラム書いてねえなあ、とかウェブで言ってたし
代わりに最近のエッセイ本はマ/CSというより一般人向けっぽいので食指動かず
Understanding the Digital WorldシリーズとかDefending Yourself in a World of Too Many Numbersとかそんな題の書いてる
ソフトウェア作法、プログラミング書法、プログラミング作法の現場で戦うプログラマーの為の三部作は素晴らしい、言語に縛られない(あえて題材は様々な言語)し、lispにも通ずる普遍的な知恵袋だよ
スレチなのでそろそろこの辺で
651デフォルトの名無しさん
2024/04/12(金) 15:05:17.85ID:dUdcEEpo >>646
Steele先生はlisperの毛嫌いするC系言語/Algolishな言語も無数にデザインしているという皮肉!
Steele先生はlisperの毛嫌いするC系言語/Algolishな言語も無数にデザインしているという皮肉!
652645
2024/04/12(金) 15:53:49.12ID:OhyEPSVL lispの話をしよう
onlisp.lispのようなオレオレutil(s).lisp/scmから引用し過ぎるのはあまり宜しくない?
macroはコンパイル順の関係で引く方が問題起きにくいけど
名前がdescriptiveなのは前提として
too generalであれば初見の人に読みにくいのではと思うこの頃
一方でspecificであるかぎり、手続きを分かつ働きすら無い関数抽象も読み易い:
carにget-operator、cdrにget-operandsなど単なるリネームでも重用する
これらはpackage内にレキシカルな意味で近傍に置くべきよね?(使い捨てならflet/labels、共用ならdefun)
より一般的な小物をコーディングを楽にする為だけに引くならば、lisp書きなら定義も大体覚えてるだろう有名な小物util集(alexandria、sfri)に依存した同梱するのも(ライセンスが許しても)憚られる…
このスレやSO等見ても必読書なOn Lispは知名度あるだろうから、onlisp.lisp由来のものは初見で読めてコンパクトでバランス取れた妥協点だと思って使ってるんだけど
(ライセンスや再帰志向で性能難アリなので、手習いがてら書き直したクローン版、念の為)
なおonlisp.lispは手続き名がいにしえのlispかよってくらいヤバいのが欠点
onlisp.lispのようなオレオレutil(s).lisp/scmから引用し過ぎるのはあまり宜しくない?
macroはコンパイル順の関係で引く方が問題起きにくいけど
名前がdescriptiveなのは前提として
too generalであれば初見の人に読みにくいのではと思うこの頃
一方でspecificであるかぎり、手続きを分かつ働きすら無い関数抽象も読み易い:
carにget-operator、cdrにget-operandsなど単なるリネームでも重用する
これらはpackage内にレキシカルな意味で近傍に置くべきよね?(使い捨てならflet/labels、共用ならdefun)
より一般的な小物をコーディングを楽にする為だけに引くならば、lisp書きなら定義も大体覚えてるだろう有名な小物util集(alexandria、sfri)に依存した同梱するのも(ライセンスが許しても)憚られる…
このスレやSO等見ても必読書なOn Lispは知名度あるだろうから、onlisp.lisp由来のものは初見で読めてコンパクトでバランス取れた妥協点だと思って使ってるんだけど
(ライセンスや再帰志向で性能難アリなので、手習いがてら書き直したクローン版、念の為)
なおonlisp.lispは手続き名がいにしえのlispかよってくらいヤバいのが欠点
653デフォルトの名無しさん
2024/04/12(金) 23:54:00.88ID:/A9qFmr2 文章下手糞すぎて読む気も起きない
これって神の言語に慣れすぎて言語障害になった例かよってくらいヤバいのが>>652の欠点
これって神の言語に慣れすぎて言語障害になった例かよってくらいヤバいのが>>652の欠点
654デフォルトの名無しさん
2024/04/13(土) 18:14:03.11ID:JilIuOKd ストールマンがガンになったらしい
長髪も髭も落としてしまって別人みたいになってる
長髪も髭も落としてしまって別人みたいになってる
655デフォルトの名無しさん
2024/04/13(土) 18:24:37.81ID:OrtqC7Lq 効いてる効いてる
656デフォルトの名無しさん
2024/04/13(土) 19:21:54.91ID:JilIuOKd 何が?
657デフォルトの名無しさん
2024/04/13(土) 22:51:10.37ID:Vi4F3OXr 昔MSの偉い人がGNUはガンだとか言ってたな
ついに自覚させたか
ついに自覚させたか
658デフォルトの名無しさん
2024/04/13(土) 23:32:28.78ID:c7UXCLXT >>655
お前は脳にガンを抱えてるなw
お前は脳にガンを抱えてるなw
659デフォルトの名無しさん
2024/04/14(日) 12:56:54.81ID:JRHy27WB660デフォルトの名無しさん
2024/04/14(日) 13:37:09.89ID:JRHy27WB661デフォルトの名無しさん
2024/04/14(日) 14:04:02.38ID:JRHy27WB コーシー噴いたw
662デフォルトの名無しさん
2024/04/14(日) 15:00:30.77ID:XsKNoxHh >>660は娯楽コンテンツとしては面白い
でもLispは良いとして集合論を勉強しようとしてるのにはやれやれだな
Haskellで圏論とかAIで代数幾何に夢見たりするのと似てる
結局広く浅くでウンチク欲を満たすに留めて、実践から逃げたいのだろうな
実践は壁だらけだから
でもLispは良いとして集合論を勉強しようとしてるのにはやれやれだな
Haskellで圏論とかAIで代数幾何に夢見たりするのと似てる
結局広く浅くでウンチク欲を満たすに留めて、実践から逃げたいのだろうな
実践は壁だらけだから
663デフォルトの名無しさん
2024/04/14(日) 17:27:06.49ID:ezgj98lZ Lispとは別に2人で集合論やって
Lispは一冊何か挟んでからPAIP読んでほしい
番組のネタ的に
Lispは一冊何か挟んでからPAIP読んでほしい
番組のネタ的に
664デフォルトの名無しさん
2024/04/14(日) 21:34:02.26ID:p4Nf2jzu その人らはLispに大した拘りはないし
今更検索でまともに引っかからない古代のPAIPなんてやる意味を見出せないだろ
AI関連ならTranslatorからChatGPTブレイクに至るまででも話題にしたらいい
今更検索でまともに引っかからない古代のPAIPなんてやる意味を見出せないだろ
AI関連ならTranslatorからChatGPTブレイクに至るまででも話題にしたらいい
665デフォルトの名無しさん
2024/04/14(日) 21:56:43.27ID:JRHy27WB そうかなあ、論理プログラミングとか自然言語解析とか右側の人大興奮じゃないの
666デフォルトの名無しさん
2024/04/15(月) 01:53:38.60ID:YG3lrvG/ >>649
MLやregexエンジン積んでパターンマッチ機構を言語ビルトインにしても特にアドバンテージなんて無いと思うけどな
50行のコードでcl-ppcre(perl相当)とも機能面では十分戦えるわけで
or/and,named-capture/backref、lookahead/behind-assertion、predication、filter、context-sensitiveなreplace等ね
超古典な"LISP" Winston, Paul Horn, 2nd edのchap.17に載ってるやつ
本を薄くするために徹底的に再帰で書かれてるからまあ性能は察せ()
再帰で分かりやすいコードだから叩き台にもオススメ
MLやregexエンジン積んでパターンマッチ機構を言語ビルトインにしても特にアドバンテージなんて無いと思うけどな
50行のコードでcl-ppcre(perl相当)とも機能面では十分戦えるわけで
or/and,named-capture/backref、lookahead/behind-assertion、predication、filter、context-sensitiveなreplace等ね
超古典な"LISP" Winston, Paul Horn, 2nd edのchap.17に載ってるやつ
本を薄くするために徹底的に再帰で書かれてるからまあ性能は察せ()
再帰で分かりやすいコードだから叩き台にもオススメ
667デフォルトの名無しさん
2024/04/15(月) 02:00:08.14ID:YG3lrvG/ あれはsymbolic pattern matchなのでregexと比べるのは良い例出なかったごめん
まあexplodeしてしまえばもうキャラクタベースだ
確かGrahamの>>652にあるシンボルをバラすやつ、まあ3行くらいで書ける小品だけど
explodeってネーミングがクールで覚えてたわ
まあexplodeしてしまえばもうキャラクタベースだ
確かGrahamの>>652にあるシンボルをバラすやつ、まあ3行くらいで書ける小品だけど
explodeってネーミングがクールで覚えてたわ
668デフォルトの名無しさん
2024/04/15(月) 02:27:22.10ID:wPU2Kemh >>665
そうそう、PCと自分のスキルで実践出来る分野なのに(最低限の真似事すら)やってないのがお察しか
右の人が予めPC音痴だと予防線張ってるのは自走力低めだと自己分析出来てるのかも
まぁ実践(この場合はプログラミング)で玉砕しちゃったら、しょんぼりするか歯切れ悪くて
面白くなくなるタイプだからチャンネル的には今のままで良いのかも
左の人は画面キャプチャしながらライブコーディングするスタイルを何処かで見せないと説得力に乏しい
左右どちらも含蓄なく浅はかに見えてしまうので、その道の専門家をお呼びするスタイルにして欲しい
C#のufcpp的な人が(声とコード画面だけでも)出演したら(最低限の真似事なら)実践する人が増えると思う
そうそう、PCと自分のスキルで実践出来る分野なのに(最低限の真似事すら)やってないのがお察しか
右の人が予めPC音痴だと予防線張ってるのは自走力低めだと自己分析出来てるのかも
まぁ実践(この場合はプログラミング)で玉砕しちゃったら、しょんぼりするか歯切れ悪くて
面白くなくなるタイプだからチャンネル的には今のままで良いのかも
左の人は画面キャプチャしながらライブコーディングするスタイルを何処かで見せないと説得力に乏しい
左右どちらも含蓄なく浅はかに見えてしまうので、その道の専門家をお呼びするスタイルにして欲しい
C#のufcpp的な人が(声とコード画面だけでも)出演したら(最低限の真似事なら)実践する人が増えると思う
669デフォルトの名無しさん
2024/04/15(月) 02:48:11.62ID:YG3lrvG/ >>665,668
うむ、若かりし頃はマルコフやProlog/SQLモドキとかやってた、なるべく決定論的なのが個人的な好み
トレースを分析しても理解の困難なモノは、決して知的探究心を満たしてはくれないのだ
流行りの文章生成もマルコフならトレーサビリティは完全なのが良い
うむ、若かりし頃はマルコフやProlog/SQLモドキとかやってた、なるべく決定論的なのが個人的な好み
トレースを分析しても理解の困難なモノは、決して知的探究心を満たしてはくれないのだ
流行りの文章生成もマルコフならトレーサビリティは完全なのが良い
670デフォルトの名無しさん
2024/04/15(月) 03:14:20.11ID:YG3lrvG/ 古いAIのバイブルPAIPすら恥ずかしながら未読の身ですが…
lispもデータドリブンなNN系はむしろ苦手とは思わない
NN系がマスメディアでもバズり出した頃にウィキペディア見たら、Pythonのサンプルコードが載ってたので
そのままCPython/Numpyとclで書いてみたら、ベンチはsbclぶっちぎりだったよ
もちろん個々の処理がバックのcライブラリより速いなんて言わない
同レベルのコーダが同ロジックで翻訳すればの話
その差はclの無駄に細かいarray/vectorコンストラクタ引数の設計
具体的にはR/W抑えるビュー相当の:displaced-*と:fill-pointer、配列の動的リサイズ指定の:adjustable引数ね
Numpyのndarrayはこの辺が裏で自動でやるのでコーダの裁量がない
まあNumpyでプラグマ/フラグ駆使してその辺のお節介挙動を切れば普通に負けるかも
あくまで並コーダが素直に書く限りの話
lispもデータドリブンなNN系はむしろ苦手とは思わない
NN系がマスメディアでもバズり出した頃にウィキペディア見たら、Pythonのサンプルコードが載ってたので
そのままCPython/Numpyとclで書いてみたら、ベンチはsbclぶっちぎりだったよ
もちろん個々の処理がバックのcライブラリより速いなんて言わない
同レベルのコーダが同ロジックで翻訳すればの話
その差はclの無駄に細かいarray/vectorコンストラクタ引数の設計
具体的にはR/W抑えるビュー相当の:displaced-*と:fill-pointer、配列の動的リサイズ指定の:adjustable引数ね
Numpyのndarrayはこの辺が裏で自動でやるのでコーダの裁量がない
まあNumpyでプラグマ/フラグ駆使してその辺のお節介挙動を切れば普通に負けるかも
あくまで並コーダが素直に書く限りの話
671デフォルトの名無しさん
2024/04/15(月) 03:45:37.49ID:KXqIDgH/ Cバックエンドで配列のviewをサポートしてるなら究極的には言語/処理系ではアルゴリズム瑕疵が無い限り有意な差はないよ
ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い
ただしNumpyは書き方に細心の注意をしないとユーザの預かり知らぬ所で勝手にディープコピーする大きな罠も
そうした不透明性が嫌い
明示できるCLのFortran実装を待ち望む
ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い
ただしNumpyは書き方に細心の注意をしないとユーザの預かり知らぬ所で勝手にディープコピーする大きな罠も
そうした不透明性が嫌い
明示できるCLのFortran実装を待ち望む
672デフォルトの名無しさん
2024/04/15(月) 03:58:24.79ID:TPgVCyAO >>671
clの明示性といえば、:rehash-size :rehash-threshold等で個々のハッシュテーブルまでチューンできるのがいいね
配列なんかよりハッシュテーブルの方がリハッシュコストが遥かに高い
動的言語のリハッシュは知る限り全部処理系任せか、サポートしていてもインタプリタのコマンドラインオプションで一律にしか変えられない
clの明示性といえば、:rehash-size :rehash-threshold等で個々のハッシュテーブルまでチューンできるのがいいね
配列なんかよりハッシュテーブルの方がリハッシュコストが遥かに高い
動的言語のリハッシュは知る限り全部処理系任せか、サポートしていてもインタプリタのコマンドラインオプションで一律にしか変えられない
673デフォルトの名無しさん
2024/04/15(月) 06:50:07.08ID:DfbFoW6K >>671
>ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
>gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い
この部分、Fortranで配列多用したらCより数倍速い的な意見なのかな?
1ミリも分からんので、詳細求む
>ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
>gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い
この部分、Fortranで配列多用したらCより数倍速い的な意見なのかな?
1ミリも分からんので、詳細求む
674デフォルトの名無しさん
2024/04/15(月) 11:04:34.92ID:SeS0dYr5 >>671
言語/処理系で有意な差はないと言ってるのに、Cより数倍も速いって、矛盾してるぞw
言語/処理系で有意な差はないと言ってるのに、Cより数倍も速いって、矛盾してるぞw
675デフォルトの名無しさん
2024/04/15(月) 11:32:59.07ID:dChAXctC676デフォルトの名無しさん
2024/04/15(月) 11:39:03.37ID:L/ePcET8 中間言語が同じならコーディングの瑕疵は人間工学的な問題
Cは宣言が貧弱でin/out、純粋関数、エイリアスの有無は推論頼りだから失敗すれば死ぬ
ただ最近はrestrict宣言付けて回るなら重なるか推論不能な配列のエイリアス有無も指定可、難解だけど
一方で参照渡しのFortranはtaraiベンチで推論失敗すればデリファレンス地獄で死ぬわけだけど、これ解消する宣言あったっけ?
むしろ宣言無しのナイーブなコーディングなら数倍どころでは済まんよ
ランタイムの重いclは比類なき宣言の豊富さで静的言語にまで迫ろうと頑張ってるわけで
Cは宣言が貧弱でin/out、純粋関数、エイリアスの有無は推論頼りだから失敗すれば死ぬ
ただ最近はrestrict宣言付けて回るなら重なるか推論不能な配列のエイリアス有無も指定可、難解だけど
一方で参照渡しのFortranはtaraiベンチで推論失敗すればデリファレンス地獄で死ぬわけだけど、これ解消する宣言あったっけ?
むしろ宣言無しのナイーブなコーディングなら数倍どころでは済まんよ
ランタイムの重いclは比類なき宣言の豊富さで静的言語にまで迫ろうと頑張ってるわけで
677デフォルトの名無しさん
2024/04/15(月) 11:50:11.63ID:L/ePcET8 パフォーマンス志向でarrayとdeclareまみれのclはlispっぽさが失われるのがつらい
何でも出来るのだと前向きに考えてゆきたい…
何でも出来るのだと前向きに考えてゆきたい…
678デフォルトの名無しさん
2024/04/15(月) 11:53:02.96ID:xx2br7bI679デフォルトの名無しさん
2024/04/15(月) 13:00:49.14ID:h9iqzVMR ゆる「コンピュータ科学」ラジオなので、集合論でもいいだろw
マウントしないと気が済まんのか
マウントしないと気が済まんのか
680デフォルトの名無しさん
2024/04/15(月) 13:15:54.71ID:WhsyARtf どのレスがマウントに見えたのか知らんけど
集合論なんてAppendixか記号一覧でサラッと確認して本題を進めるのに
集合論のブルーバックスを読んでシッタカウンチクを語る方がマウントに近い行為だと思うけどw
まさか公理的集合論とその形式的手法をガッツリやるのかな
集合論なんてAppendixか記号一覧でサラッと確認して本題を進めるのに
集合論のブルーバックスを読んでシッタカウンチクを語る方がマウントに近い行為だと思うけどw
まさか公理的集合論とその形式的手法をガッツリやるのかな
681デフォルトの名無しさん
2024/04/15(月) 13:20:30.61ID:WhsyARtf そんな訳ないかw
単純に集合論とか圏論は逃げ
(研究者じゃない限り)コンピュータ科学は実践を伴ってナンボの世界なわけで
そこのレベル低そうな人にウンチク唱えられても何か可哀そうで娯楽にすらならん
単純に集合論とか圏論は逃げ
(研究者じゃない限り)コンピュータ科学は実践を伴ってナンボの世界なわけで
そこのレベル低そうな人にウンチク唱えられても何か可哀そうで娯楽にすらならん
682デフォルトの名無しさん
2024/04/15(月) 13:42:47.75ID:h9iqzVMR 痛い人だw
683デフォルトの名無しさん
2024/04/15(月) 15:03:16.41ID:AVuQkQ2W 痛レス追加w
プログラミングにおいては、学問的基礎はそこそこにしてドンドン先に進んだもん勝ちなのよね
学習の初期段階から集合論(動画内ではタイプ理論も)に油売ってたら(逃げを通り越して)脱落かと
ユーチューバーが視聴数稼ぎの為に手を出してるのを差し引かないとね、初学者が真似したら破滅
みんな母国語を話せるでしょ?言語学なんて知らなくてもw
プログラミングにおいては、学問的基礎はそこそこにしてドンドン先に進んだもん勝ちなのよね
学習の初期段階から集合論(動画内ではタイプ理論も)に油売ってたら(逃げを通り越して)脱落かと
ユーチューバーが視聴数稼ぎの為に手を出してるのを差し引かないとね、初学者が真似したら破滅
みんな母国語を話せるでしょ?言語学なんて知らなくてもw
684デフォルトの名無しさん
2024/04/15(月) 15:11:29.44ID:oyztWlKb 逆に数学ちゃんとやらないからLispでつまづいてイライラするんだろうな
そういう奴は20年後も進歩してないと思う(俺のことだが)
そういう奴は20年後も進歩してないと思う(俺のことだが)
685デフォルトの名無しさん
2024/04/15(月) 17:04:25.48ID:BU/Fumer でもまぁ左は慶応情報工学、右は数学が得意と言ってるし集合論は楽しみではあるな(他意は無い)
686デフォルトの名無しさん
2024/04/15(月) 17:51:51.96ID:lxkYY0z4 集合論もゲーデルもコンビネーター理論も入門レベルは理解したい
と思い続けて10年w
と思い続けて10年w
687デフォルトの名無しさん
2024/04/15(月) 17:53:00.51ID:lxkYY0z4 そんなことよりCentOS8入れてみたらGuileもEmacsも入ってなくてブチ切れそうなんだけど
688デフォルトの名無しさん
2024/04/15(月) 19:17:47.96ID:pFNJA2no Lispは母語じゃないからなぁ
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の吐く洗練された論文と比べて原始的になる可能性もあります
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:5bgAV9JM792デフォルトの名無しさん
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エンジニア多かったな今どこいったんだろ
五年ほど前までこういうAIエンジニア多かったな今どこいったんだろ
795デフォルトの名無しさん
2025/07/14(月) 04:03:05.17ID:H42iB8O8 >>794
お前なんかがこのスレの何がいいんだ?
お前なんかがこのスレの何がいいんだ?
796デフォルトの名無しさん
2025/07/14(月) 10:05:54.72ID:SvqlBNnt >>791
ごめんなさい、もちろんふつうじゃありません。letを等価なlambda によるものとかに変換して (まあマクロでいいやもあり)それを最適化した方が捗る(ような気がする)というオレオレ実装の話です。
ごめんなさい、もちろんふつうじゃありません。letを等価なlambda によるものとかに変換して (まあマクロでいいやもあり)それを最適化した方が捗る(ような気がする)というオレオレ実装の話です。
797デフォルトの名無しさん
2025/07/14(月) 10:15:20.25ID:yq/UCo3U >>793
はちみつをNGにしてる人かもしれないね
はちみつをNGにしてる人かもしれないね
798デフォルトの名無しさん
2025/07/14(月) 20:30:35.39ID:778hTmQY lambdaの返す関数オブジェクトのたどる運命は大体3通り
(1) シンボルにバインドされて普通の名前付き関数になる
(2) 高階関数に引数として渡される
(3) ファーストラムダとして即座に呼び出される
(1) シンボルにバインドされて普通の名前付き関数になる
(2) 高階関数に引数として渡される
(3) ファーストラムダとして即座に呼び出される
799デフォルトの名無しさん
2025/07/14(月) 23:25:17.89ID:OppI5UAF800デフォルトの名無しさん
2025/07/14(月) 23:58:48.95ID:8TvcLzrP 実在しない実装
虚装
虚装
801デフォルトの名無しさん
2025/07/15(火) 07:22:30.34ID:M3dXRA34 >>796
正規化による見通しのよさが向上するというメリットは普通にあるでしょ
では既存の処理系がすべてそうしていないなぜかというとletのままの方が最適化できることがあるからだったり, CommonLispのletのようにlambdaより機能が多いために等価に変換できないということがある
はちみつが既に指摘している
正規化による見通しのよさが向上するというメリットは普通にあるでしょ
では既存の処理系がすべてそうしていないなぜかというと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,
*****************
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,
*****************
804デフォルトの名無しさん
2025/07/24(木) 20:23:59.30ID:Pb6gK57F スレに報告するなら
このスレでは新しいアイデアではなかったという結論になっているので
スレの住人の結論をくつがえす力をもつ大先生に相談したのかが
重要な情報だと思うが隠したら意味がない
このスレでは新しいアイデアではなかったという結論になっているので
スレの住人の結論をくつがえす力をもつ大先生に相談したのかが
重要な情報だと思うが隠したら意味がない
805デフォルトの名無しさん
2025/07/24(木) 21:54:32.59ID:CH9XcWr2 宛先はドクター ・マシュー・フラット
806デフォルトの名無しさん
2025/07/25(金) 03:09:24.85ID:3nwbV1EW あなたがこれらの関係性を「発見」だと感じたのは、ご自身で深く考え、これらの概念間のつながりを独自に見出したからでしょう。これは、知識を鵜呑みにせず、自ら思考し、理解しようとする非常に素晴らしい姿勢です。科学の多くの進歩は、このように自らの頭で考えることから生まれます。
しかし、科学の世界では、その「発見」が人類にとって本当に新しい知識であるか、そしてそれが厳密な形で定式化され、検証されているかが問われます。あなたがたどり着いた結論は、偶然にも、あるいは必然的に、すでに確立された「基礎中の基礎」である、ということです。
しかし、科学の世界では、その「発見」が人類にとって本当に新しい知識であるか、そしてそれが厳密な形で定式化され、検証されているかが問われます。あなたがたどり着いた結論は、偶然にも、あるいは必然的に、すでに確立された「基礎中の基礎」である、ということです。
807デフォルトの名無しさん
2025/07/25(金) 18:03:37.57ID:NfVpBKmO 関数型言語が手続き型言語と根本的に違うみたいに言ってたのは一般界隈の方じゃないか
俺は「Schemeを手続き型言語のひとつとしてしか使ったことがない」と言ったら嘲笑を浴びたこともあるぞ
俺は「Schemeを手続き型言語のひとつとしてしか使ったことがない」と言ったら嘲笑を浴びたこともあるぞ
808デフォルトの名無しさん
2025/07/26(土) 00:52:48.70ID:2rEMZk2e もちろん、話し手の真意は本人にしか分かりませんが、提示された情報だけを基にすれば、「逆張りのイキリがスベっただけ」という解釈は十分に成り立ちます。
809デフォルトの名無しさん
2025/08/19(火) 12:17:09.07ID:UpjtMkWM 大学の教授もAIで生成した論文を査読してくれっていわれるの災難だよな
810デフォルトの名無しさん
2025/09/14(日) 14:42:43.95ID:CeEbD0mr すっかり乗り遅れたけど((lambda がインライン化されることの何が発明なのだろうと俺も思った
schemeののメジャーな論文読んだ上での提案ではなさそう
あとアカデミックな作法を好む癖に論の進め方がアカデミックな訓練を受けてなさそうなのが気になる
schemeののメジャーな論文読んだ上での提案ではなさそう
あとアカデミックな作法を好む癖に論の進め方がアカデミックな訓練を受けてなさそうなのが気になる
811デフォルトの名無しさん
2025/09/15(月) 11:19:02.42ID:DuTxbbPw ((lambdaは釣り餌だよ
812デフォルトの名無しさん
2025/09/16(火) 12:10:26.43ID:M3b1vCXY んまー、おせっくす好きですの?
813八大龍王・豊田聡志
2025/09/30(火) 19:20:44.06ID:rqdKtsao 早く仕事終とリハビリテーション終わらして byさとばん
814八大龍王・豊田聡志
2025/09/30(火) 19:22:45.12ID:rqdKtsao 早く仕事終とリハビリテーション終わらして実家に帰るぞby さとばん
815豊田聡志
2025/09/30(火) 19:23:34.85ID:rqdKtsao surveyscm.scm by さとばん
816八大龍王・豊田聡志
2025/09/30(火) 19:24:46.11ID:rqdKtsao sao
surveyscm.scm by さとばん
surveyscm.scm by さとばん
817豊田聡志
2025/09/30(火) 19:25:14.03ID:rqdKtsao surveyscm.scm by さとばん
818八大龍王・豊田聡志
2025/09/30(火) 19:26:38.65ID:rqdKtsao いくら悪神ジタバタしたとて手も出んぞwwwww
819八大龍王・豊田聡志
2025/09/30(火) 19:33:27.27ID:rqdKtsao コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえ放置プレイ中
820暗黒神・豊田聡志
2025/09/30(火) 19:34:31.15ID:rqdKtsao コッチは、回心した大邪神だ、血も涙もあるわkけ無いだろボケwwwかつえ放置プレイ中
821八大龍王・豊田聡志
2025/09/30(火) 19:47:21.60ID:rqdKtsao コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえ放置プレイ中 命尽きろクソかつえww
420暗黒神・豊田聡志
垢版 | 大砲
2025/09/30(火) 19:40:30.68ID:qhYqnJ/60
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえガールズ・ガーデン放置プレイ中
421八大龍王・豊田聡志
垢版 | 大砲
2025/09/30(火) 19:44:17.47ID:qhYqnJ/60
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえガールズ・ガーデン放置プレイ中
422八大龍王・豊田聡志
垢版 | 大砲
2025/09/30(火) 19:45:20.34ID:qhYqnJ/60
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえガールズ・ガーデン放置プレイ中
979八大龍王・豊田聡志 そのうち、クタバルだろクソかつえの命www
420暗黒神・豊田聡志
垢版 | 大砲
2025/09/30(火) 19:40:30.68ID:qhYqnJ/60
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえガールズ・ガーデン放置プレイ中
421八大龍王・豊田聡志
垢版 | 大砲
2025/09/30(火) 19:44:17.47ID:qhYqnJ/60
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえガールズ・ガーデン放置プレイ中
422八大龍王・豊田聡志
垢版 | 大砲
2025/09/30(火) 19:45:20.34ID:qhYqnJ/60
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえガールズ・ガーデン放置プレイ中
979八大龍王・豊田聡志 そのうち、クタバルだろクソかつえの命www
822八大龍王・豊田聡志
2025/09/30(火) 19:48:31.86ID:rqdKtsao コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえ放置プレイ中 命尽きろクソかつえww
823八大龍王・豊田聡志
2025/09/30(火) 19:50:52.41ID:rqdKtsao 早く体力尽きて死ねくそかつえwwwwwww
824八大龍王・豊田聡志
2025/09/30(火) 19:51:30.39ID:rqdKtsao 早く体力尽きて死ねクソかつえwwwwwww
825八大龍王・豊田聡志
2025/09/30(火) 19:54:44.71ID:rqdKtsao 濁の霊界ガールズ・ガーデンで体力尽きて死ねクソかつえ
826暗黒神・豊田聡志
2025/09/30(火) 20:01:07.14ID:rqdKtsao の霊界ガールズ・ガーデンで体力尽きて死ねクソかつえ。 そして切り札を失え、クソ下村敬治。。
827八大龍王・豊田聡志
2025/09/30(火) 20:01:54.46ID:rqdKtsao の霊界ガールズ・ガーデンで体力尽きて死ねクソかつえ。 そして切り札を失え、クソ下村敬治。。
828八大龍王・豊田聡志
2025/09/30(火) 20:02:32.04ID:rqdKtsao の霊界ガールズ・ガーデンで体力尽きて死ねクソかつえ。 そして切り札を失え、クソ下村敬治。。
829八大龍王・豊田聡志
2025/09/30(火) 20:03:06.68ID:rqdKtsao の霊界ガールズ・ガーデンで体力尽きて死ねクソかつえ。 そして切り札を失え、クソ下村敬治。。
830暗黒神・豊田聡志
2025/09/30(火) 20:15:31.25ID:rqdKtsao 黒龍・バルタン星人・聡志より くたばれよ、くそかつえwww
831八大龍王・豊田聡志
2025/09/30(火) 20:18:40.41ID:rqdKtsao 黒龍・バルタン星人・聡志より くたばれよ、早く死ねよ、くそかつえwww
832暗黒神・豊田聡志
2025/09/30(火) 20:20:39.38ID:rqdKtsao ネタバレ
祈りに徹する
自分で自分を殺さないと神様の御用は出来ない」って書いてあるぞクソかつえ。。。
祈りに徹する
自分で自分を殺さないと神様の御用は出来ない」って書いてあるぞクソかつえ。。。
833暗黒神・豊田聡志
2025/09/30(火) 20:21:51.87ID:rqdKtsao ヘビ斜視って本当に低能www
834八大龍王・豊田聡志
2025/09/30(火) 20:26:37.39ID:rqdKtsao 切り札のクソかつえ死んじゃったwww
835暗黒神・豊田聡志
2025/09/30(火) 20:27:35.57ID:rqdKtsao あとは、秀明潰しだなww
836八大龍王・豊田聡志
2025/09/30(火) 20:30:03.02ID:rqdKtsao セックスかつえ万博介護は潰したから、後は秀明だなwww
837八大龍王・豊田聡志
2025/10/01(水) 00:21:07.62ID:5pOmYdRM 秀明会はエース級の奉仕者上君田に寄越せボケの小山弘子サマww
838八大龍王・豊田聡志
2025/10/01(水) 00:22:10.90ID:5pOmYdRM 秀明会はエース級の美人の奉仕者上君田に寄越せボケの小山弘子サマww
839八大龍王・豊田聡志
2025/10/01(水) 00:24:39.87ID:5pOmYdRM 秀明会はエース級の美人の奉仕者もクラックしてやるよマジでwww
840八大龍王・豊田聡志
2025/10/01(水) 00:32:49.44ID:5pOmYdRM 豊田聡志
趣味 pcのクラッキング
バルタン星人
前回は悪性リンパ腫smバカ幸子は登板するのwww
趣味 pcのクラッキング
バルタン星人
前回は悪性リンパ腫smバカ幸子は登板するのwww
841八大龍王・豊田聡志
2025/10/01(水) 00:53:16.41ID:5pOmYdRM 豊田聡志
趣味 Schemeプログラミング pcのクラッキング
バルタン星人
前回は悪性リンパ腫smバカ幸子は登板するのwww
趣味 Schemeプログラミング pcのクラッキング
バルタン星人
前回は悪性リンパ腫smバカ幸子は登板するのwww
842八大龍王・豊田聡志
2025/10/01(水) 00:54:19.48ID:5pOmYdRM 豊田聡志
趣味 Schemeプログラミング 既存システムのクラッキング
バルタン星人
前回は悪性リンパ腫smバカ幸子は登板するのwww
趣味 Schemeプログラミング 既存システムのクラッキング
バルタン星人
前回は悪性リンパ腫smバカ幸子は登板するのwww
843八大龍王・豊田聡志
2025/10/01(水) 00:58:20.32ID:5pOmYdRM ヘビは、恨むなら会澤孝先生を恨めボケ。
844八大龍王・豊田聡志
2025/10/01(水) 01:32:36.34ID:5pOmYdRM 秀明会のエース級の美人の奉仕者もクラックしてやるよマジでwww
845八大龍王・豊田聡志
2025/10/01(水) 01:36:25.39ID:5pOmYdRM ドス黒いグロマンの勝沼かつえww下村敬治死ねボケwww
846。。。。
2025/10/01(水) 03:43:59.10ID:5pOmYdRM 秀明会はエース級の美人の奉仕者上君田に寄越せボケの小山弘子サマww
色々いるだろm高知支部の松林琴乃
色々いるだろm高知支部の松林琴乃
847八大龍王・豊田聡志
2025/10/01(水) 03:45:59.03ID:5pOmYdRM 秀明会はエース級の美人の奉仕者上君田に寄越せボケの小山弘子サマww
色々いるだろm高知支部の松林琴乃。
鈴木弘子。
広島支部の林さん。
等々。。。
色々いるだろm高知支部の松林琴乃。
鈴木弘子。
広島支部の林さん。
等々。。。
848八大龍王・豊田聡志
2025/10/01(水) 03:52:38.84ID:5pOmYdRM 早くシャトル外交でオバマケア決めろの奉仕者上君田に寄越せボケww
849八大龍王・豊田聡志
2025/10/01(水) 03:59:55.54ID:5pOmYdRM ジでwwwwかつえの代替え探すから、クソ国連www
暇だから
早くシャトル外交でオバマケア決めろの奉仕者上君田に寄越せボケww
暇だから
早くシャトル外交でオバマケア決めろの奉仕者上君田に寄越せボケww
850暗黒神・豊田聡志
2025/10/01(水) 06:34:29.02ID:5pOmYdRM オバマケア 鈴木弘子
オバマケア 鈴木弘子
上君田に鈴木弘子を寄越せよ、
総裁選に出ろ、鈴木弘子はよボケ
オバマケア 鈴木弘子
上君田に鈴木弘子を寄越せよ、
総裁選に出ろ、鈴木弘子はよボケ
851八大龍王・豊田聡志
2025/10/01(水) 10:25:03.39ID:5pOmYdRM マジでwwwwかつえの代替え探すから、クソ国連www
暇だから
早くシャトル外交でオバマケア決めろの奉仕者上君田に寄越せボケww
暇だから
早くシャトル外交でオバマケア決めろの奉仕者上君田に寄越せボケww
852暗黒神・豊田聡志
2025/10/01(水) 10:26:22.72ID:5pOmYdRM オバマケア 鈴木弘子
オバマケア 鈴木弘子
上君田に鈴木弘子を寄越せよ、
総裁選に出ろ、鈴木弘子はよボケ
オバマケア 鈴木弘子
上君田に鈴木弘子を寄越せよ、
総裁選に出ろ、鈴木弘子はよボケ
853暗黒神・豊田聡志
2025/10/01(水) 10:32:33.22ID:5pOmYdRM 豊田聡志の身体は最高のカーネルだなwww
本当にシッカリしたカーネルだなwww
本当にシッカリしたカーネルだなwww
854八大龍王・豊田聡志
2025/10/03(金) 04:27:29.39ID:bmmWLZ7W 豊田聡志の信仰は大したものだ黒龍・霊体を受け止めれるだからwwww
855八大龍王・豊田聡志
2025/10/03(金) 04:29:09.06ID:bmmWLZ7W 田聡志の信仰は大したものだ黒龍・霊体を受け止めれるだからwwww
最高黒龍・オーエスのカーネルだよボケwww
最高黒龍・オーエスのカーネルだよボケwww
856暗黒神・豊田聡志
2025/10/05(日) 10:39:39.47ID:CCs5njfs かつえとの子作りセックスよりも、biglooで遊ぶ方が面白そうだなwww
857暗黒神・豊田聡志
2025/10/10(金) 17:16:56.99ID:uByC0X3C クソ小山弘子
クソ勝沼かつえ
クソ小山弘子
クソ秀明会
クソ小山弘子
かつえとの子作りセックスよりも、宇宙戦争の方が絶対に面白い
かつえの子宮頸がんw
売女かつえ死ねww
宇宙戦争マンセーwwww
クソ勝沼かつえ
クソ小山弘子
クソ秀明会
クソ小山弘子
かつえとの子作りセックスよりも、宇宙戦争の方が絶対に面白い
かつえの子宮頸がんw
売女かつえ死ねww
宇宙戦争マンセーwwww
858暗黒神・豊田聡志
2025/10/10(金) 17:18:31.71ID:uByC0X3C 退院後に参拝に行ってやるよwww
859デフォルトの名無しさん
2025/10/17(金) 03:00:03.37ID:D1Ebmx1L schemeはclみたいにplaceにsetf(set!)できりゃいいのになぁ…とずっと思ってる
単なる変数でないplaceにsetfが使えれば、それだけで多くのアクセサが不要となるし、scheme自慢の簡潔な言語仕様もさらに簡潔にできるはずだ
なぜ標準に取り入れられないのか…
srfiでscheme版setfも提案されてるけど…うんちょっとこれは違う
単なる変数でないplaceにsetfが使えれば、それだけで多くのアクセサが不要となるし、scheme自慢の簡潔な言語仕様もさらに簡潔にできるはずだ
なぜ標準に取り入れられないのか…
srfiでscheme版setfも提案されてるけど…うんちょっとこれは違う
860暗黒神・豊田聡志
2025/10/19(日) 14:15:24.26ID:kuRAQfA8 来年、秀明自然農法でコンニャク栽培したから、水戸出張所に行って相談するか??
861デフォルトの名無しさん
2025/10/20(月) 16:10:47.43ID:h3FEiN7d >>859
ユーザコードは簡潔になるが言語仕様というかsetf expanderはむしろ複雑になるのでは
ユーザコードは簡潔になるが言語仕様というかsetf expanderはむしろ複雑になるのでは
862暗黒神・豊田聡志
2025/10/21(火) 06:22:24.84ID:x7hMr9oI 来年、秀明自然農法でコンニャク栽培したいから、水戸出張所に行って先生に相談するか??
863デフォルトの名無しさん
2025/10/21(火) 17:50:35.19ID:Ymvn4/mj >>859
そもそもジェネリックな関数を導入してないのでsetf入れたところでたいして統一感もない
モジュールシステムやマクロとも相性がわるいしイミュータブル指向に進んでるので次期豊田聡で定義されることは絶対ないだろうな
そもそもジェネリックな関数を導入してないのでsetf入れたところでたいして統一感もない
モジュールシステムやマクロとも相性がわるいしイミュータブル指向に進んでるので次期豊田聡で定義されることは絶対ないだろうな
864デフォルトの名無しさん
2025/10/21(火) 19:10:03.88ID:Jd81qZag (push 3 (alist-get 'c als)) ;; emacsで動く
alistのキーがcの値のリストに3をpushするとか、汎変数無しで書くとか地獄だねw
plist-getでも出来る
ま、リストの中身を書き換えるなんて絶対しないなら不要だけどね
alistのキーがcの値のリストに3をpushするとか、汎変数無しで書くとか地獄だねw
plist-getでも出来る
ま、リストの中身を書き換えるなんて絶対しないなら不要だけどね
865はちみつ餃子 ◆8X2XSCHEME
2025/10/21(火) 20:26:59.37ID:GptfFBSs SRFI-17 の generalized set! を実装するのはそんなに難しくない。
ただ、効率的に実装しようと思うと処理系が直接サポートするに越したことは無い。
私は必要だと思ったことがないけど。
ただ、効率的に実装しようと思うと処理系が直接サポートするに越したことは無い。
私は必要だと思ったことがないけど。
866デフォルトの名無しさん
2025/10/22(水) 00:13:50.86ID:Yyz/H0lN みんなsetfしか頭に無いからだよ
pushとかincfも汎変数を扱える
これの有用性を全然分かってない
汎変数が無い時は、pushする時にキーが無い時の事も考慮すると長いクソコードを書かないといけない
>>864のコードはキーが無い時でも問題ない
これが要らないとか、普段Lispを書いてないエアプとしか思えない
pushとかincfも汎変数を扱える
これの有用性を全然分かってない
汎変数が無い時は、pushする時にキーが無い時の事も考慮すると長いクソコードを書かないといけない
>>864のコードはキーが無い時でも問題ない
これが要らないとか、普段Lispを書いてないエアプとしか思えない
867デフォルトの名無しさん
2025/10/22(水) 15:07:29.42ID:XMOdEDQ7 >>864 のコードはキーが無い時でも問題ない
これはnilが空リストというのも含めて文脈に応じた拡張してるだけなのでplace機能が担う機能じゃない
alistを破壊的に使うのなんてemacsくらいで他はハッシュ使う
emacslispしか書いたことがなくてlisp完全理解してるやつは大口叩くよなlispコードも汚ないし
これはnilが空リストというのも含めて文脈に応じた拡張してるだけなのでplace機能が担う機能じゃない
alistを破壊的に使うのなんてemacsくらいで他はハッシュ使う
emacslispしか書いたことがなくてlisp完全理解してるやつは大口叩くよなlispコードも汚ないし
868デフォルトの名無しさん
2025/10/22(水) 15:36:27.81ID:MaQ8nGgA869デフォルトの名無しさん
2025/10/22(水) 17:59:42.59ID:XMOdEDQ7 emacsで設定ファイルいじるところからlispスタートしてるから知らないんだろうけど
incfやpushがplace扱えるなんてのはcommonlisp入門書に普通に載ってんだわ
ちなみにemacsのgvってのは多値が扱えない劣化版placeね
incfやpushがplace扱えるなんてのはcommonlisp入門書に普通に載ってんだわ
ちなみにemacsのgvってのは多値が扱えない劣化版placeね
870デフォルトの名無しさん
2025/10/22(水) 18:11:04.60ID:MaQ8nGgA >>867
> これはnilが空リストというのも含めて文脈に応じた拡張してるだけなのでplace機能が担う機能じゃない
↑
これがエアプ言ってんだよ
setf実装したこと無いだろ
文脈って何だよ?文系かよ…
> これはnilが空リストというのも含めて文脈に応じた拡張してるだけなのでplace機能が担う機能じゃない
↑
これがエアプ言ってんだよ
setf実装したこと無いだろ
文脈って何だよ?文系かよ…
871デフォルトの名無しさん
2025/10/22(水) 19:08:02.39ID:MaQ8nGgA alistやplistのキーじゃなく「値」を書き換えるのはLispの流儀じゃない?
clojure野郎か?
clojure野郎か?
872デフォルトの名無しさん
2025/10/22(水) 19:26:43.37ID:XMOdEDQ7 エアプじゃないならもっと技術的に正確に第三者も再現できるようなレスしろよ
setf実装したこと無いだろって何?
setf実装したこと無いだろって何?
873デフォルトの名無しさん
2025/10/22(水) 23:25:38.68ID:MaQ8nGgA setfが無いLispにsetfを実装する事という意味にしか取れんだろ
874デフォルトの名無しさん
2025/10/22(水) 23:46:41.20ID:MaQ8nGgA 簡単なものなら(defsetf symbol-value set)のように実装可能だが、無い場合は追加する状況が有るならdefsetfは使えない
getfが良い例だ
getfが良い例だ
875デフォルトの名無しさん
2025/10/22(水) 23:56:32.44ID:MaQ8nGgA placeはgetfのような場合でもちゃんと実装できるように考慮されてる
されてるというか、defsetfのような便利マクロを使えなくて素の仕組みを使うってだけだが
されてるというか、defsetfのような便利マクロを使えなくて素の仕組みを使うってだけだが
876デフォルトの名無しさん
2025/10/23(木) 04:32:37.99ID:unNDcSNX >>0873
はあ自作lispにsrfi 17とかemacsのgv.elを実装するってこと?
lisp版の左辺値なわけだから別に無理にマクロでエミュレートする必要もないわな
lisp1のschemeだったら10行程度だけどlisp2だと言語設計の話になるし後付けで一貫性がなかったらemacsみたいになるよな
alist-getの話にまで戻すとalistのkv要素をよきにはからって新規追加してるのは(gv-define-expander alist-get)で定義した挙動なだけでplaceという概念とは直交するだろという指摘なのでおまえのつっこみが全部まと外れ
はあ自作lispにsrfi 17とかemacsのgv.elを実装するってこと?
lisp版の左辺値なわけだから別に無理にマクロでエミュレートする必要もないわな
lisp1のschemeだったら10行程度だけどlisp2だと言語設計の話になるし後付けで一貫性がなかったらemacsみたいになるよな
alist-getの話にまで戻すとalistのkv要素をよきにはからって新規追加してるのは(gv-define-expander alist-get)で定義した挙動なだけでplaceという概念とは直交するだろという指摘なのでおまえのつっこみが全部まと外れ
877デフォルトの名無しさん
2025/10/23(木) 12:02:10.26ID:SeuJXbyZ878デフォルトの名無しさん
2025/10/23(木) 12:06:08.44ID:SeuJXbyZ 分かりやすい解説を書きたい所だが、文学が読みたいから返答を待ってるよw
879暗黒神・豊田聡志
2025/10/23(木) 13:45:49.27ID:xac6ZsGF どんな結果になろうとも、かつえの事は、放置プレイだボケ。
880デフォルトの名無しさん
2025/10/23(木) 18:54:52.20ID: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段構えになってる理由だな
みたいなイディオムがあるように、リストの先頭を削除したり追加したりするにはその「外側」での対応が必要になる
Lisperなら当然知ってる事だがな
(alist-get 'a ls)でlsを受け取ったalist-getが幾ら先頭に(key . value)を追加したって意味が無い(途中になら可能)
lsを保持している外側での対応が必要になる
alist-getが2つ目の引数だって事が分かってるけどsetf側はそんな事知らないので教える必要がある
その辺がsetfがget-setf-expansionを介した2段構えになってる理由だな
881デフォルトの名無しさん
2025/10/24(金) 03:28:33.12ID:SZTuSSg3 そもそもエアプは黙ってろって連呼してるやつって >>859 なの?
ハッシュテーブル使うならLispである必要がないとかいう原理主義者がsetfの話してるのもアンバランスでバカみたい
ハッシュテーブル使うならLispである必要がないとかいう原理主義者がsetfの話してるのもアンバランスでバカみたい
882デフォルトの名無しさん
2025/10/24(金) 17:02:06.19ID: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))はシンプルで直感的な記述ながら実に多くの事をやっている
どの辺がアンバランスなんだ?
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))はシンプルで直感的な記述ながら実に多くの事をやっている
どの辺がアンバランスなんだ?
883デフォルトの名無しさん
2025/10/26(日) 23:35:32.26ID:SlBkv4G6 ハッシュテーブル使うならLispである必要がないというのはどう解釈してもお馬鹿
setfの役割は左辺値+オブザーバーだがalist-getの件はリストをkv構造で使う際のリストの構造上の欠陥をオブザーバー部が補ってるだけだから例として挙げるような優れたデザインでもなんでもない
ハッシュテーブルならそもそもこの問題がないからリストに使うと効果絶大というのもお馬鹿の勘違い
なんでもリストで処理しようとするのは昭和で終った
setfの役割は左辺値+オブザーバーだがalist-getの件はリストをkv構造で使う際のリストの構造上の欠陥をオブザーバー部が補ってるだけだから例として挙げるような優れたデザインでもなんでもない
ハッシュテーブルならそもそもこの問題がないからリストに使うと効果絶大というのもお馬鹿の勘違い
なんでもリストで処理しようとするのは昭和で終った
884デフォルトの名無しさん
2025/10/26(日) 23:50:13.43ID:RMl0wgM+ >>883
だからエアプ言われんだよw
Lispのリストほど便利なものはない
Lispのリストと言ってるのはコンスセルを使ったものを指している
他の言語では無い
もちろんその言語で実装する事は可能だが、Lispの様に構文レベルで対応してる言語には遠く及ばない
敢えて否定したいなら、効率が悪いという事のみ
これも動的型言語として使うならどうでも良い話だ
だからエアプ言われんだよw
Lispのリストほど便利なものはない
Lispのリストと言ってるのはコンスセルを使ったものを指している
他の言語では無い
もちろんその言語で実装する事は可能だが、Lispの様に構文レベルで対応してる言語には遠く及ばない
敢えて否定したいなら、効率が悪いという事のみ
これも動的型言語として使うならどうでも良い話だ
885デフォルトの名無しさん
2025/10/27(月) 00:01:04.96ID:W99ASBpj >>883
> setfの役割は左辺値+オブザーバーだがalist-getの件はリストをkv構造で使う際のリストの構造上の欠陥をオブザーバー部が補ってるだけだから例として挙げるような優れたデザインでもなんでもない
↑
俺の説明を聞いてから一生懸命否定しようとしたんだなw
そもそもなんだ?オブザーバーって?
デザインパターンのオブザーバーの事なら全然違う
マクロのトリックなんだよ
マクロ使ったテクニックをオブザーバーいう馬鹿は初めて見たw
> setfの役割は左辺値+オブザーバーだがalist-getの件はリストをkv構造で使う際のリストの構造上の欠陥をオブザーバー部が補ってるだけだから例として挙げるような優れたデザインでもなんでもない
↑
俺の説明を聞いてから一生懸命否定しようとしたんだなw
そもそもなんだ?オブザーバーって?
デザインパターンのオブザーバーの事なら全然違う
マクロのトリックなんだよ
マクロ使ったテクニックをオブザーバーいう馬鹿は初めて見たw
886デフォルトの名無しさん
2025/10/28(火) 04:53:26.98ID:FzLqQH8v なんだ、結局反論できなくなったのか? 「お馬鹿」だの「昭和で終った」だの散々イキってたのに、だんまりか?w
「オブザーバー(笑)」だの「リストの構造上の欠陥(笑)」だの、それっぽい文学的ポエムを並べてたが、こっちが「それ、ただのマクロのトリックだぞ」って事実を指摘したら逃げ出すとか、ダサすぎだろ。 マクロ使ったテクニックをオブザーバーとか言い出す馬鹿は初めて見たわw
結局、お前ら「エアプ」には、 (push 3 (alist-get 'c als)) の凄さが微塵も理解できなかったな。 get-setf-expansionがどう動くか、なんで「外側」の変数(als)を書き換えられるのか、俺がわざわざヒントまで出してやったのに、エアプが返してきたのは「よきにはからって(キリッ)」だもんな。文系かよw
で、苦し紛れに言い出したのが「ハッシュテーブルなら問題ない」。 だから、「ハッシュテーブル使うならLispである必要がない」と何度言えば分かるんだ? Lispのリスト(コンスセル)が他の言語に無い、どれだけ便利なものか、全く分かってない。 効率が悪い? そんなもんは動的型言語なんだから「どうでも良い話だ」と結論出てるだろ。
エアプは、alist-getの議論から「ハッシュテーブル」っていう全く別次元の話に逃げただけ。 俺が「リストに使うと効果絶大だ」と言った意味が、最後まで理解できなかった時点でお前らの負けだよ。 まぁ、Lisperなら当然知ってるイディオムすら知らなそうなエアプには、alist-getの真価なんて分かるわけもなかったかw
エアプは黙ってろ。議論にすらならんかったな。
「オブザーバー(笑)」だの「リストの構造上の欠陥(笑)」だの、それっぽい文学的ポエムを並べてたが、こっちが「それ、ただのマクロのトリックだぞ」って事実を指摘したら逃げ出すとか、ダサすぎだろ。 マクロ使ったテクニックをオブザーバーとか言い出す馬鹿は初めて見たわw
結局、お前ら「エアプ」には、 (push 3 (alist-get 'c als)) の凄さが微塵も理解できなかったな。 get-setf-expansionがどう動くか、なんで「外側」の変数(als)を書き換えられるのか、俺がわざわざヒントまで出してやったのに、エアプが返してきたのは「よきにはからって(キリッ)」だもんな。文系かよw
で、苦し紛れに言い出したのが「ハッシュテーブルなら問題ない」。 だから、「ハッシュテーブル使うならLispである必要がない」と何度言えば分かるんだ? Lispのリスト(コンスセル)が他の言語に無い、どれだけ便利なものか、全く分かってない。 効率が悪い? そんなもんは動的型言語なんだから「どうでも良い話だ」と結論出てるだろ。
エアプは、alist-getの議論から「ハッシュテーブル」っていう全く別次元の話に逃げただけ。 俺が「リストに使うと効果絶大だ」と言った意味が、最後まで理解できなかった時点でお前らの負けだよ。 まぁ、Lisperなら当然知ってるイディオムすら知らなそうなエアプには、alist-getの真価なんて分かるわけもなかったかw
エアプは黙ってろ。議論にすらならんかったな。
887デフォルトの名無しさん
2025/10/28(火) 05:32:08.58ID:FzLqQH8v つーか、ハッシュテーブルとか言ってる奴。お前マジでLispやめろ。 Lispの魂はコンスセル(cons)なんだよ。わかる? alist こそがLispの「コード=データ」を体現する至高のデータ構造。 ハッシュテーブル(笑)なんてPythonでも使ってろ。Lispである必要がゼロ。
setf ってのは、その cons でできたリスト宇宙(笑)を自在に書き換えるための「神のマクロ」なんだよ。 880で説明した「外側」の書き換えとか、get-setf-expansion の凄さが、お前らエアプには理解不能だっただけ。 nil を自動で (key . value) に変異させるこのマクロ・トリックこそがLispの真髄なのに、それを「構造上の欠陥」(883)とか言っちゃうセンスの無さ。
もういいわ。話にならん。 マクロが何かもわかってない文系エアプに何を言っても無駄。 俺が「本物のLisp」を教えてやったのに、誰もついてこれなかったな。
setf ってのは、その cons でできたリスト宇宙(笑)を自在に書き換えるための「神のマクロ」なんだよ。 880で説明した「外側」の書き換えとか、get-setf-expansion の凄さが、お前らエアプには理解不能だっただけ。 nil を自動で (key . value) に変異させるこのマクロ・トリックこそがLispの真髄なのに、それを「構造上の欠陥」(883)とか言っちゃうセンスの無さ。
もういいわ。話にならん。 マクロが何かもわかってない文系エアプに何を言っても無駄。 俺が「本物のLisp」を教えてやったのに、誰もついてこれなかったな。
888デフォルトの名無しさん
2025/10/28(火) 07:59:27.60ID:/Gs2akef Lispって無限リストとか作れるの?
それ何に使うの?
それなしじゃ書けないものあるの?
C言語にはそんなものないけどなんでも書けるよ?
それ何に使うの?
それなしじゃ書けないものあるの?
C言語にはそんなものないけどなんでも書けるよ?
889暗黒神・豊田聡志
2025/10/28(火) 16:33:24.90ID:rzZnX+yP 船井幸雄・著「今ひとに聞かせてい神さまの言葉」に書いてある。
かつえとの子作りセックスの為に最後の最後には、国連は上君田に土下座しに来ると書いてあるぞ。
必死になって国連は、土下座すると書いてあるぞwwww
余生は、かつえとの子作りセックスの話しを断り続けて、マクロスのプラモ三昧の生活だなwww
かつえとの子作りセックスで出来た「てんしさま」が居なければ戦争になると、船井幸雄が本に書いてあるぞwww
かつえの閉経はいつだ?
かつえの子宮頸がんのステージはいくつだ
宇宙戦争の開戦はいつだwww
勝沼かつえは、子供産める身体なのか???
かつえとの子作りセックスの為に最後の最後には、国連は上君田に土下座しに来ると書いてあるぞ。
必死になって国連は、土下座すると書いてあるぞwwww
余生は、かつえとの子作りセックスの話しを断り続けて、マクロスのプラモ三昧の生活だなwww
かつえとの子作りセックスで出来た「てんしさま」が居なければ戦争になると、船井幸雄が本に書いてあるぞwww
かつえの閉経はいつだ?
かつえの子宮頸がんのステージはいくつだ
宇宙戦争の開戦はいつだwww
勝沼かつえは、子供産める身体なのか???
890デフォルトの名無しさん
2025/11/11(火) 18:56:41.38ID:IMC7CS1x 80年代のsicpでさえデータ型を定義することを推奨してるのだから
リスト以外を使ったらlispの意味がないとかぬかすのは愚の骨頂ですわ
リスト以外を使ったらlispの意味がないとかぬかすのは愚の骨頂ですわ
891デフォルトの名無しさん
2025/11/16(日) 16:16:40.82ID:JUX/KH1x ファンタジーコンソールのtic80がこっそりschemeに対応してるんだけど
これゲームを題材にしてscheme手習いしたいって人にはめっちゃ良いんじゃない
これゲームを題材にしてscheme手習いしたいって人にはめっちゃ良いんじゃない
892デフォルトの名無しさん
2025/11/18(火) 07:50:44.27ID:7woWQLhR 手習いしたい?だからエアプ言われんだよw
893デフォルトの名無しさん
2025/11/18(火) 17:29:51.35ID:d9hs+rsN ?
手習いすればエアプじゃないじゃん
手習いすればエアプじゃないじゃん
894はちみつ餃子 ◆8X2XSCHEME
2025/11/18(火) 17:52:24.61ID:saOGypzbレスを投稿する
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… [BFU★]
- 高市早苗首相。財務省の経済対策草案を「しょぼすぎる」と一刀両断し自らテコ入れ [バイト歴50年★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★4 [♪♪♪★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 【旧統一教会】年度内に解散命令請求に結論 教団は最終主張書面を東京高裁に提出 [1ゲットロボ★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」 [115996789]
- 【実況】白銀ノエルと博衣こよりのえちえちパワフルプロ野球
- ひろゆきが高市首相を批判「一部の支持者がスッキリしただけで、大多数の日本人にとっては損だよね」 [834922174]
- 【速報】高市早苗「答弁撤回はしない」経済制裁へ★2 [931948549]
- 【んな専🏡】ルーナイトたち~1週間お疲れ様なのらぁ~(・o・🍬)🏰
- 財布に何万も入れてる奴って馬鹿じゃね?
