diff --git a/guix/build/compile.scm b/guix/build/compile.scm index 6f15ba5789..ea0c36fa33 100644 --- a/guix/build/compile.scm +++ b/guix/build/compile.scm @@ -24,7 +24,7 @@ #:use-module (system base target) #:use-module (system base compile) #:use-module (system base message) - #:use-module (guix discovery) + #:use-module (guix modules) #:use-module (guix build utils) #:export (%default-optimizations %lightweight-optimizations diff --git a/guix/discovery.scm b/guix/discovery.scm index c861614b8a..7b57579023 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -18,15 +18,14 @@ (define-module (guix discovery) #:use-module (guix ui) + #:use-module (guix modules) #:use-module (guix combinators) #:use-module (guix build syscalls) #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (ice-9 vlist) #:use-module (ice-9 ftw) - #:export (file-name->module-name - - scheme-modules + #:export (scheme-modules fold-modules all-modules fold-module-public-variables)) @@ -90,13 +89,6 @@ DIRECTORY is not accessible." directory (strerror errno))) '()))))) -(define file-name->module-name - (let ((not-slash (char-set-complement (char-set #\/)))) - (lambda (file) - "Return the module name (a list of symbols) corresponding to FILE." - (map string->symbol - (string-tokenize (string-drop-right file 4) not-slash))))) - (define* (scheme-modules directory #:optional sub-directory) "Return the list of Scheme modules available under DIRECTORY. Optionally, narrow the search to SUB-DIRECTORY." diff --git a/guix/modules.scm b/guix/modules.scm index 19a4acd76c..6c602eda48 100644 --- a/guix/modules.scm +++ b/guix/modules.scm @@ -26,6 +26,9 @@ #:export (missing-dependency-error? missing-dependency-module + file-name->module-name + module-name->file-name + source-module-closure live-module-closure guix-module-name?)) @@ -93,6 +96,13 @@ depends on." (_ '())))))) +(define file-name->module-name + (let ((not-slash (char-set-complement (char-set #\/)))) + (lambda (file) + "Return the module name (a list of symbols) corresponding to FILE." + (map string->symbol + (string-tokenize (string-drop-right file 4) not-slash))))) + (define (module-name->file-name module) "Return the file name for MODULE." (string-append (string-join (map symbol->string module) "/")