GNU bug report logs - #32121
Cuirass: add support for multiple inputs

Previous Next

Package: guix-patches;

Reported by: Clément Lassieur <clement <at> lassieur.org>

Date: Tue, 10 Jul 2018 22:59:02 UTC

Severity: normal

Done: Clément Lassieur <clement <at> lassieur.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Clément Lassieur <clement <at> lassieur.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 32121 <at> debbugs.gnu.org
Subject: [bug#32121] [PATCH 3/5] database: Add support for database upgrades.
Date: Sat, 14 Jul 2018 17:00:58 +0200
Ludovic Courtès <ludo <at> gnu.org> writes:

>> +  (apply max
>> +         (map string->number
>> +              (map (cut match:substring <> 1)
>> +                   (filter regexp-match?
>> +                           (map (cut string-match
>> +                                  "^upgrade-([0-9]+)\\.sql$" <>)
>> +                                (scandir (%package-sql-dir))))))))
>
> I think you can write it along these lines:
>
>   (reduce max 0
>           (map (compose string->number (cut match:substring <> 1))
>                (filter-map (cut string-match …) (scandir …))))

Very nice!  Now it returns 0 if the list is empty (which shouldn't
happen) but it makes more sense.

> I would rather avoid SRFI-42, not just because I can’t parse it ;-), but
> also to maintain consistency and make the code possibly more accessible.
>
> In this case I think we could use a simple loop or (for-each … (iota n))
> and that wouldn’t be bad.

iota...  Exactly what I was looking for!  But for some reason I thought
it would be named something like "range" :-)

Thank you so much!
Clément




This bug report was last modified 7 years and 5 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.