Lisp Scheme Part41 (858レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
56: デフォルトの名無しさん [sage] 2019/03/05(火) 22:17:29.86 ID:Wd2YNpFb(1) AAS
餃子がスゲー良いこと言ったな…
> 逆に言えば分野として確立していない知的な処理はなんだって人工知能
機械学習みたいないかにも人工知能っぽいものでも、人間が理解して理論的に確立してしまえばなんてことない在り来たりな技術になるんだろうな
62: デフォルトの名無しさん [sage] 2019/03/20(水) 16:56:57.86 ID:Cy24MG6x(1) AAS
>>61👍
65: 63 [] 2019/03/24(日) 10:14:45.86 ID:UnbL980K(1) AAS
>>6464(1): はちみつ餃子 ◆8X2XSCHEME [sage] 2019/03/23(土) 23:08:12.36 ID:ByL/s3eU(1) AAS
>>63
μKanren のことはよくしらないけど、
assp は R6RS (※1) では rnrs lists ライブラリに含まれるので、
R6RS 処理系ではこのライブラリを import すると使えるようになる。
R6RS 以外には無い。
自分で書くとしたら SRFI-1 (※2) を使える状況なら
こんな感じで書くなぁ
(define (assp proc alist)
(find (lambda(x)(proc (car x)))
alist))
※1
RnRS は Scheme の仕様書の通称。
n に改定番号が入る。
※2
小さい言語である Scheme では日常的に使うにはライブラリが足りなさげなので、
ユーザーコミュニティとしてライブラリの仕様を考えて文書化したものの集合体が SRFI 。
(RFC みたいな感じ?)
SRFI-1 はその最初期のもので、リスト操作系のライブラリ。
仕様の一部ではないので処理系によって SRFI の採用の程度は色々だけど、
実用嗜好の処理系は主要なものはまあまあ取り込んでいる。
今では仕様の検討の前段階として一旦 SRFI にしたりもしている。
ありがとうございます。Gauche は find があるみたいなので、早速置き換えてみました。
Scheme の規格は、過去のものを包括しているわけでもなく、なかなか難しいものなんですね。
μKanren だけに限らないかもしれませんが、μKanren の Scheme のコードは、普通の
オブジェクト指向言語と違って型を作って使い分けするのでなくて、そういう意図でベクトルや
ドット対やリストを使い分けていたり、戻す値が何を意図したものなのかわかりにくくて、
短いけど難しいですね〜
84(1): デフォルトの名無しさん [sage] 2019/09/23(月) 13:19:32.86 ID:CUAPT5Qo(1) AAS
LISP知らん人に勧めても判るのかね
MITってschemeやめてpython教えてるんでしょ
142: _ [sage] 2020/02/14(金) 11:14:07.86 ID:m79sNhAX(1) AAS
Racket 7.6リリースされたよー
外部リンク[html]:blog.racket-lang.org
Chez Schemeの取り込みが進んで、プロダクション・レディになったそうな。
デフォルトにはまだなっていないようです。
157(2): デフォルトの名無しさん [sage] 2020/03/03(火) 18:41:29.86 ID:2IitENiP(1) AAS
3文字で頼む
175: デフォルトの名無しさん [sage] 2020/03/05(木) 23:31:57.86 ID:ilhNvGHV(1) AAS
3文字で頼む
193(1): デフォルトの名無しさん [sage] 2020/04/29(水) 09:21:45.86 ID:sxS/u8Yc(1/3) AAS
>>192192(1): デフォルトの名無しさん [sage] 2020/04/29(水) 06:44:54.55 ID:bLWOmnfL(1) AAS
>>187
処理系によって(A B C)の評価順序が
(1 2 3)だったり(3 1 2)だったり(3 2 1)だったりするから
mapのようなリストで処理結果を返すような関数のクロージャ内では原則副作用は起こさないことが求められる
for-eachみたいな初めから副作用を期待する関数はどう並べようが問題は起きない
それは承知しているのです。
ここでは Racket のドキュメントをどう解釈すべきかというのが論点です。
>>191191(2): デフォルトの名無しさん [sage] 2020/04/29(水) 03:18:21.69 ID:ALOjMFFX(1/2) AAS
>>189
> 私は R5RS (など) と言い回しが違うという点に引きずられていましたが、
> "from the first elements to the last" というフレーズ単体で見ると範囲のニュアンス
> で捉える方が自然ですかね。
いや、違う。
R5RSとRacket Reference v7.6とでのmapが手続き(proc)を適用する要素の順番に関して言及しているのは
各々、以下の箇所だが、両者では明らかに全く異なる。
R5RS>The dynamic order in which proc is applied to the elements of the lists is unspecified.
Racket>Applies proc to the elements of the lsts from the first elements to the last.
R5RSは>>187で君が述べていた通り、リストの要素への適用順序はunspecifiedだと明確に書いてある。
これに対してRacket v7.6ではprocをlstsの最初の要素から最後の要素へと適用すると書いてある、
つまりリストlstsの要素の並びの順番に手続きprocを適用して行くと明記している。
だからprocとして受け取った値を標準出力に書き出す手続きを渡せば、R5RSでは表示される要素の順番はどんな順序でも良いのに対して
Racket v7.6では元のリストlstの要素の並び順に必ず表示せねばならない。
これは私の想像だが、R5RSでmapが手続きを適用する要素の順番を規定しないと明記しているのは長大なリストに対する並列処理を可能にするためだろう。
逆に言えば手続きの適用順序を確実に把握したい場合にはmapでなくfor-eachを使えというのがR5RSを定めたチームの言語設計上の意図だろう。
>>190
> 保証とはどういうことを指しているのだろう
その言語仕様書のそのバージョンに準拠していると宣言している言語処理系は、それを守らねばならない(守っていなければバグだ)という意味だよ。
だから今の例では、Racket Reference v7.6準拠と処理系が宣言したら、その処理系はmapで手続きを適用する要素の順番を必ずリストの並び順に
する義務が生ずる(Racket v7.6の定める言語仕様=Racket v7.6ユーザとの約束の順守を保証せねばならない)、ということだ。
当然ながら、言語仕様書のバージョンが変われば約束(つまり言語仕様による規定の内容)も変更され得る。
> 最初の要素から最後の要素へと適用すると書いてある
順番に (in order) とは書いていません。
順序が意味を持つ箇所ではおおよそ order という語で強調しているのに
それがないここでも順番であることを確信してよいほどに
(英語のニュアンスとして) 自明でしょうか。
308: デフォルトの名無しさん [sage] 2021/02/16(火) 17:43:38.86 ID:05vP8Ot3(1/2) AAS
普通のやつらを超えろおじさんのarcヲチするのにちょっとracketしてるけどフレンドリーかつ尖ってるね
どんどん尖ってゆけ
347: デフォルトの名無しさん [sage] 2021/03/20(土) 01:03:24.86 ID:iR2BedGg(1/3) AAS
>>338vimだと階層に合わせて背景塗り分けるプラグインとかあるね
Peirce(パースの法則の人)も初めはlogical graphと言う円で囲む二次元言語を考えてたんだが、今言及されるときはテキスト表現で()になってる(そして読みやすい)
歴史はめぐるってか
ちなみにlispと見た目が似てるからってパーサを書いたが、やはり親和性が高い
面白いのでオススメ
348: デフォルトの名無しさん [sage] 2021/03/20(土) 01:11:33.86 ID:iR2BedGg(2/3) AAS
コードエディタじゃなくて残念なんだけど、愛用してるOneNoteのテキストのドラッグが()ごとドラッグしてくれるのに気づいた
まあいつものMSのお節介なんですけどね
本来の用途である物書きでは選択範囲を自由に決めさせてくれないイライラ要素
619: はちみつ餃子 ◆8X2XSCHEME [sage] 2023/10/04(水) 15:56:06.86 ID:DlO9V8Bc(1) AAS
Gauche 0.9.13 のリリース候補が出た。
問題ありそうな部分や要望があるなら今のうちに出しとくといいよ。
外部リンク:sourceforge.net
779(1): はちみつ餃子 ◆8X2XSCHEME [sage] 2025/07/10(木) 07:45:53.86 ID:UMLMi9p2(1/2) AAS
>>774let は 常に lambda に展開せねばならず、引数の受け渡しはスタックを使うことという制約を入れて最適化の邪魔をしてまでひとつの最適化を入れる?
馬鹿馬鹿しい。
822: 八大龍王・豊田聡志 [] 2025/09/30(火) 19:48:31.86 ID:rqdKtsao(10/24) AAS
コッチは、回心した黒龍だ、血も涙もあるわkけ無いだろボケwwwかつえ放置プレイ中 命尽きろクソかつえww
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s