~ruther/guix-local

4b6fa8b33970be414ae035f63ed80b147dcd8200 — Ludovic Courtès 10 years ago 6aaf3ea
utils: Remove 'split'.

This procedure was redundant with SRFI-1's 'break'.

* guix/utils.scm (split): Remove.
* tests/utils.scm ("split, element is in list")
("split, element is not in list"): Remove.
2 files changed, 0 insertions(+), 32 deletions(-)

M guix/utils.scm
M tests/utils.scm
M guix/utils.scm => guix/utils.scm +0 -18
@@ 85,7 85,6 @@
            fold2
            fold-tree
            fold-tree-leaves
            split
            cache-directory
            readlink*
            edit-expression


@@ 788,23 787,6 @@ are connected to NODE in the tree, or '() or #f if NODE is a leaf node."
       (else result)))
   init children roots))

(define (split lst e)
  "Return two values, a list containing the elements of the list LST that
appear before the first occurence of the object E and a list containing the
elements after E."
  (define (same? x)
    (equal? e x))

  (let loop ((rest lst)
             (acc '()))
    (match rest
      (()
       (values lst '()))
      (((? same?) . tail)
       (values (reverse acc) tail))
      ((head . tail)
       (loop tail (cons head acc))))))

(define (cache-directory)
  "Return the cache directory for Guix, by default ~/.cache/guix."
  (or (getenv "XDG_CONFIG_HOME")

M tests/utils.scm => tests/utils.scm +0 -14
@@ 122,20 122,6 @@
               '(0 1 2 3)))
    list))

(test-equal "split, element is in list"
  '((foo) (baz))
  (call-with-values
      (lambda ()
        (split '(foo bar baz) 'bar))
    list))

(test-equal "split, element is not in list"
  '((foo bar baz) ())
  (call-with-values
      (lambda ()
        (split '(foo bar baz) 'quux))
    list))

(test-equal "strip-keyword-arguments"
  '(a #:b b #:c c)
  (strip-keyword-arguments '(#:foo #:bar #:baz)