summaryrefslogtreecommitdiff
path: root/guix/modules.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-10-13 22:16:46 +0200
committerLudovic Courtès <ludo@gnu.org>2017-10-22 22:09:00 -0700
commit7a51c78c6e0cd06dd31f3f28cd941fde15eb17d6 (patch)
treeaf995d9e1f394ac8adbaa3515849f7fc9d1daa29 /guix/modules.scm
parent3a9976bfcd13e6554a2458ce1a3b9d7b95043195 (diff)
discovery: Move 'file-name->module-name' to (guix modules).
* guix/discovery.scm (file-name->module-name): Move to... * guix/modules.scm (file-name->module-name): ... here. * guix/build/compile.scm: Use (guix modules) instead of (guix discovery).
Diffstat (limited to 'guix/modules.scm')
-rw-r--r--guix/modules.scm10
1 files changed, 10 insertions, 0 deletions
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) "/")