diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-02-17 14:25:43 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-02-23 15:24:48 +0100 |
commit | b57de6fea126f907a873ae14ad8b32dc32456e8e (patch) | |
tree | a8db88484cab66eeb9ead5c6e4092278c5aebeb0 | |
parent | a26006ff72746a49dde6d548a8687bf55e9d4d3a (diff) |
gexp: Micro-optimize 'gexp->sexp' and 'lower-inputs'.
* guix/gexp.scm (lower-inputs, gexp->sexp): Change keyword parameters to
positional parameters. Adjust callers accordingly.
* tests/gexp.scm (gexp->sexp*, "gexp->file"): Adjust accordingly.
-rw-r--r-- | guix/gexp.scm | 20 | ||||
-rw-r--r-- | tests/gexp.scm | 5 |
2 files changed, 8 insertions, 17 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm index 6990d33651..943b336539 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -826,8 +826,7 @@ list." (one-of symbol? string? keyword? pair? null? array? number? boolean? char?))) -(define* (lower-inputs inputs - #:key system target) +(define (lower-inputs inputs system target) "Turn any object from INPUTS into a derivation input for SYSTEM or a store item (a \"source\"); return the corresponding input list as a monadic value. When TARGET is true, use it as the cross-compilation target triplet." @@ -874,8 +873,7 @@ corresponding <derivation-input> or store item." (match graphs (((file-names . inputs) ...) (mlet %store-monad ((inputs (lower-inputs (map tuple->gexp-input inputs) - #:system system - #:target target))) + system target))) (return (map cons file-names inputs)))))) (define* (lower-references lst #:key system target) @@ -1005,11 +1003,8 @@ derivations--e.g., code evaluated for its side effects." (return guile-for-build) (default-guile-derivation system))) (inputs (lower-inputs (gexp-inputs exp) - #:system system - #:target target)) - (sexp (gexp->sexp exp - #:system system - #:target target)) + system target)) + (sexp (gexp->sexp exp system target)) (extensions -> (gexp-extensions exp)) (exts (mapm %store-monad (lambda (obj) @@ -1278,9 +1273,7 @@ The other arguments are as for 'derivation'." (delete-duplicates (add-reference-output (gexp-references exp) '()))) -(define* (gexp->sexp exp #:key - (system (%current-system)) - (target (%current-target-system))) +(define (gexp->sexp exp system target) "Return (monadically) the sexp corresponding to EXP for the given OUTPUT, and in the current monad setting (system type, etc.)" (define* (reference->sexp ref #:optional native?) @@ -1293,8 +1286,7 @@ and in the current monad setting (system type, etc.)" (return `((@ (guile) getenv) ,output))) (($ <gexp-input> (? gexp? exp) output n?) (gexp->sexp exp - #:system system - #:target (if (or n? native?) #f target))) + system (if (or n? native?) #f target))) (($ <gexp-input> (refs ...) output n?) (mapm %store-monad (lambda (ref) diff --git a/tests/gexp.scm b/tests/gexp.scm index 0bd1237316..a30d0ff6b4 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -57,8 +57,7 @@ (apply (@@ (guix gexp) gexp->sexp) x)) (define* (gexp->sexp* exp #:optional target) - (run-with-store %store (gexp->sexp exp - #:target target) + (run-with-store %store (gexp->sexp exp (%current-system) target) #:guile-for-build (%guile-for-build))) (define (gexp-input->tuple input) @@ -540,7 +539,7 @@ (test-assertm "gexp->file" (mlet* %store-monad ((exp -> (gexp (display (ungexp %bootstrap-guile)))) (guile (package-file %bootstrap-guile)) - (sexp (gexp->sexp exp)) + (sexp (gexp->sexp exp (%current-system) #f)) (drv (gexp->file "foo" exp)) (out -> (derivation->output-path drv)) (done (built-derivations (list drv))) |