diff options
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/utils.scm | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/guix-data-service/utils.scm b/guix-data-service/utils.scm index 09f47f8..5d7d4ba 100644 --- a/guix-data-service/utils.scm +++ b/guix-data-service/utils.scm @@ -479,16 +479,18 @@ available. Return the resource once PROC has returned." (define (par-mapper' mapper cons) (lambda (proc . lists) - (let loop ((lists lists)) - (match lists - (((heads tails ...) ...) - (let ((tail (loop tails)) - (head (defer-to-parallel-fiber - (lambda () - (apply proc heads))))) - (cons (fetch-result-of-defered-thunks head) tail))) - (_ - '()))))) + (apply + fetch-result-of-defered-thunks + (let loop ((lists lists)) + (match lists + (((heads tails ...) ...) + (let ((tail (loop tails)) + (head (defer-to-parallel-fiber + (lambda () + (apply proc heads))))) + (cons head tail))) + (_ + '())))))) (define par-map& (par-mapper' map cons)) |