Lisp Scheme Part41 (855レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
64(1): はちみつ餃子 ◆8X2XSCHEME 2019/03/23(土)23:08 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 にしたりもしている。
65: 63 2019/03/24(日)10:14 ID:UnbL980K(1) AAS
>>64
ありがとうございます。Gauche は find があるみたいなので、早速置き換えてみました。
Scheme の規格は、過去のものを包括しているわけでもなく、なかなか難しいものなんですね。
μKanren だけに限らないかもしれませんが、μKanren の Scheme のコードは、普通の
オブジェクト指向言語と違って型を作って使い分けするのでなくて、そういう意図でベクトルや
ドット対やリストを使い分けていたり、戻す値が何を意図したものなのかわかりにくくて、
短いけど難しいですね〜
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.031s