guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/05: size: Pass 'requisites' a list of items.


From: Ludovic Courtès
Subject: 04/05: size: Pass 'requisites' a list of items.
Date: Tue, 24 May 2016 21:53:34 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 92ed837a1eaa0e921e17497e262a6da510323726
Author: Ludovic Courtès <address@hidden>
Date:   Tue May 24 23:41:30 2016 +0200

    size: Pass 'requisites' a list of items.
    
    * guix/scripts/size.scm (substitutable-requisites): Change 'item' to
    'items' and adjust.
    (requisites*): Likewise.
    (mappend-map): Remove.
    (store-profile): Adjust accordingly.
---
 guix/scripts/size.scm |   23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm
index c9725ae..f28832c 100644
--- a/guix/scripts/size.scm
+++ b/guix/scripts/size.scm
@@ -97,10 +97,10 @@ if ITEM is not in the store."
 (define display-profile*
   (lift display-profile %store-monad))
 
-(define (substitutable-requisites store item)
-  "Return the list of requisites of ITEM based on information available in
+(define (substitutable-requisites store items)
+  "Return the list of requisites of ITEMS based on information available in
 substitutes."
-  (let loop ((items  (list item))
+  (let loop ((items  items)
              (result '()))
     (match items
       (()
@@ -114,27 +114,20 @@ substitutes."
                (append (append-map substitutable-references info)
                        result)))))))
 
-(define (requisites* item)
+(define (requisites* items)
   "Return as a monadic value the requisites of ITEMS, based either on the
 information available in the local store or using information about
 substitutes."
   (lambda (store)
     (guard (c ((nix-protocol-error? c)
-               (values (substitutable-requisites store item)
+               (values (substitutable-requisites store items)
                        store)))
-      (values (requisites store (list item)) store))))
-
-(define (mappend-map mproc lst)
-  "Apply MPROC to each item of LST and concatenate the resulting list."
-  (with-monad %store-monad
-    (>>= (mapm %store-monad mproc lst)
-         (lambda (lstlst)
-           (return (concatenate lstlst))))))
+      (values (requisites store items) store))))
 
 (define (store-profile items)
   "Return as a monadic value a list of <profile> objects representing the
 profile of ITEMS and their requisites."
-  (mlet* %store-monad ((refs  (>>= (mappend-map requisites* items)
+  (mlet* %store-monad ((refs  (>>= (requisites* items)
                                    (lambda (refs)
                                      (return (delete-duplicates
                                               (append items refs))))))
@@ -145,7 +138,7 @@ profile of ITEMS and their requisites."
                                              (return (cons item size)))))
                                     refs)))
     (define (dependency-size item)
-      (mlet %store-monad ((deps (requisites* item)))
+      (mlet %store-monad ((deps (requisites* (list item))))
         (foldm %store-monad
                (lambda (item total)
                  (return (+ (assoc-ref sizes item) total)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]