次の 2 つのファイルがあるとします。
;; demo.scm
(define-module (demo)
#:export (f))
(define (g x) 1)
(define (f x) (g x))
...そして同じディレクトリに:
;; use-demo.scm
(add-to-load-path ".")
(use-modules (demo))
(define (g x) (+ x 1))
(display (f 5))
(newline)
use-demo.scm
Guile (2) で実行すると、出力が得られます1
。そのため、関数がmodule で定義されている関数f
を「閉じた」ように見えます。これを回避する方法はありますか?で再定義した のバージョンを本当に使いたいです。g
demo
g
use-demo.scm