diff options
Diffstat (limited to 'guix/modules.scm')
-rw-r--r-- | guix/modules.scm | 10 |
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) "/") |