Lisp Scheme Part41 (809レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
64: はちみつ餃子 ◆8X2XSCHEME [sage] 2019/03/23(土) 23:08:12.36 ID:ByL/s3eU >>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 にしたりもしている。 http://mevius.5ch.net/test/read.cgi/tech/1531587928/64
65: 63 [] 2019/03/24(日) 10:14:45.86 ID:UnbL980K >>64 ありがとうございます。Gauche は find があるみたいなので、早速置き換えてみました。 Scheme の規格は、過去のものを包括しているわけでもなく、なかなか難しいものなんですね。 μKanren だけに限らないかもしれませんが、μKanren の Scheme のコードは、普通の オブジェクト指向言語と違って型を作って使い分けするのでなくて、そういう意図でベクトルや ドット対やリストを使い分けていたり、戻す値が何を意図したものなのかわかりにくくて、 短いけど難しいですね〜 http://mevius.5ch.net/test/read.cgi/tech/1531587928/65
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s