Plugins 如何实现DrRacket插件之间的简单依赖关系?

Plugins 如何实现DrRacket插件之间的简单依赖关系?,plugins,ide,scheme,racket,Plugins,Ide,Scheme,Racket,我想实现2个DrRacket插件或工具,其中一个工具和另一个工具之间存在依赖关系。本质上,一个工具必须能够访问另一个工具提供的功能。我当前的代码类似于: 提供工具: (provide tool@ extra-signature^) (define-signature extra-signature^ (some-procedure)) (define tool@ (unit (import drracket:tool^) (export drracket:tool-exports^ e

我想实现2个DrRacket插件或工具,其中一个工具和另一个工具之间存在依赖关系。本质上,一个工具必须能够访问另一个工具提供的功能。我当前的代码类似于:

提供工具:

(provide tool@ extra-signature^)
(define-signature extra-signature^ (some-procedure))
(define tool@ 
(unit
  (import drracket:tool^)
  (export drracket:tool-exports^ extra-signature^)
  (define (phase1) void)
  (define (phase2) void)
  (define (some-procedure) void)
  ))
从属工具:

(require extra-signature)
(provide tool@)
(define tool@
  (unit
  (import drracket:tool^ extra-signature^)
  (export drracket:tool-exports^)
  (define (phase1) void)
  (define (phase2) void)
  (some-procedure)
  ))
尝试使用上述工具运行DrRacket时出现错误:


调用工具#时出错,该工具在提供模块的顶层定义了一些过程,与工具@一起,然后在依赖模块中使用require with only in