特定のモジュールの必要なモジュールのリストを保持したいと思います(現在のモジュールを言いましょう)。ラケットのモジュールで必要なモジュールのリストを見つける
私は、モジュールを解析するなどのいくつかのオプションがあるように感じますが、シャドーイング(require)のアイデアを持ち、必要な項目をモジュールのハッシュテーブルに追加し始めました-名。問題は、構文定義を書く方法を理解できないことです。
働いてはいないが、関数定義と等価では以下のようになります:
(define require-list (make-hash))
(define require
(lambda vals
; add vals to hash-table with key (current-namespace)
(let ([cn (current-namespace)])
(hash-set! require-list cn
(append vals (hash-ref require-list cn))))
(require vals)))
...最後の行の呼び出しも同様(必要)の元を呼び出すように変更されなければならないようですか?
正しいバージョンまたはそれを行う方法へのポインタ、または元の目標を達成する他の方法が高く評価されています。
これはかなり印象的です、ほとんど私が探しているもの!私の現在の目的では、フェーズ0のマッピングで十分です。また、別のモジュールの関数でこれを呼び出すと、呼び出し元のモジュール名を取得する方法があるのでしょうか?私は現在、参照の名前空間のセクションで失われています。 – MattAPiroglu