From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Isaac Subject: Re: question regarding substitute* and #t Date: Thu, 25 Jan 2018 14:01:13 +0530 Message-ID: References: <20180124010802.18874.3012@vcs0.savannah.gnu.org> <20180124010803.590AF2068F@vcs0.savannah.gnu.org> <874lnbzck5.fsf_-_@netris.org> <87372v8ndd.fsf_-_@igalia.com> <87h8rbtmhl.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34922) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eecwa-0001fD-6n for guix-devel@gnu.org; Thu, 25 Jan 2018 03:31:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eecwW-0005vW-WF for guix-devel@gnu.org; Thu, 25 Jan 2018 03:31:36 -0500 Received: from [2001:19f0:5:274f:4827:c39:448f:6777] (port=49396 helo=vultr.systemreboot.net) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eecwV-0005kN-6e for guix-devel@gnu.org; Thu, 25 Jan 2018 03:31:32 -0500 In-Reply-To: <87h8rbtmhl.fsf@netris.org> 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" To: Mark H Weaver , Andy Wingo Cc: guix-devel@gnu.org Mark H Weaver writes: > After we switch to using 'invoke' everywhere, or more precisely, after > we arrange to never return #false from any phase or snippet, then > there should be one more step before removing the vestigial #true > returns: we should change the code that calls phases or snippets to > ignore the value(s) returned by those procedures. When that is done, > then the #t's will truly be vestigial. Does that make sense? I think we should start removing the vestigial #true right away. Why wait until we can make the code that calls phases ignore the values returned by those phases? As it stands, that code errors out only when a phase returns #false, not when it returns any other value (even unspecified). WDYT? The #true is already vestigial. In fact, #true being vestigial is what annoyed me and made me start the original thread discussing ways to get rid of it. https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00235.html And, it so happened that we concluded the best way to go forward was to deprecate boolean results altogether and transition to an exception based system.