From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: wip-signed-archives progress report Date: Fri, 28 Mar 2014 00:34:08 +0100 Message-ID: <87eh1ntdvz.fsf@gnu.org> References: <878urwzhpt.fsf@gnu.org> <87d2h78vn4.fsf@karetnikov.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46093) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTJoO-00050v-R8 for guix-devel@gnu.org; Thu, 27 Mar 2014 19:34:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTJoJ-0007gA-LZ for guix-devel@gnu.org; Thu, 27 Mar 2014 19:34:16 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:50366) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTJoJ-0007fz-Ek for guix-devel@gnu.org; Thu, 27 Mar 2014 19:34:11 -0400 In-Reply-To: <87d2h78vn4.fsf@karetnikov.org> (Nikita Karetnikov's message of "Thu, 27 Mar 2014 20:16:15 +0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Nikita Karetnikov Cc: guix-devel@gnu.org Nikita Karetnikov skribis: >> Nikita: comments welcome on the two commits I just pushed in >> wip-signed-archives. > > Thanks for working on it. One question: in the past, you told me to > avoid =E2=80=98false-if-exception=E2=80=99. If it=E2=80=99s an issue her= e, can we replace it > with something else? What did I say? :-) (We have a saying in French: =E2=80=9Cdo what I say, = not what I do=E2=80=9D. ;-)) I used it in two places: (false-if-exception (and=3D> signature narinfo-signature->canonical-sexp)) and: (define (valid-narinfo? narinfo) "Return #t if NARINFO's signature is not valid." (false-if-exception (begin (assert-valid-narinfo narinfo) #t))) =E2=80=98false-if-exception=E2=80=99 should indeed be used with care, becau= se it hides every error (including unbound var errors and such!), so it could be hiding errors that really ought to be reported. In the above cases I considered it OK, because the set of exceptions that can possibly be raised is limited, and because the outcome of =E2=80=98false-if-exception=E2=80=99 is conservative (that is, at worst all= narinfos will be treated as if they were unsigned or invalid.) Does it makes sense? Ludo=E2=80=99.