は、この中にはmemoizing機能を探して見つから:ラケットのmake-hash make-weak-hashの違いは何ですか?
#lang scheme
(define (memo f)
(define mh (make-hash))
(lambda p
(hash-ref mh p (lambda()
(hash-set! mh p (apply f p))
(hash-ref mh p)))))
(define-syntax-rule (defmemo (id . p) . body)
(define id (memo (lambda p . body))))
(provide defmemo)
ここに見られるように:Writing an auto-memoizer in Scheme. Help with macro and a wrapper
は、しかし、マニュアルにもあります:弱ハッシュを作成し、メイク不変ハッシュを。どのハッシュ関数がメモ作成に適していますか?
'make-weak-hash'はどこで使用されますか? – X10D
GCがあなたのテーブルの中だけにあなたのオブジェクトを保持しないようにしたいときはいつでも。たとえば、ファイナライザを実装する場合は、make-weak-hashを使用することができます。 –