From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 04 10:04:13 2021 Received: (at 50967) by debbugs.gnu.org; 4 Oct 2021 14:04:13 +0000 Received: from localhost ([127.0.0.1]:37971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mXOZh-0004qO-9C for submit@debbugs.gnu.org; Mon, 04 Oct 2021 10:04:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mXOZg-0004q5-4M for 50967@debbugs.gnu.org; Mon, 04 Oct 2021 10:04:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55012) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXOZa-0003yN-Bw; Mon, 04 Oct 2021 10:04:06 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=60554 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXOZa-0003Dk-0g; Mon, 04 Oct 2021 10:04:06 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Xinglu Chen Subject: Re: bug#50967: [PATCH 00/12] Move (gnu home-services XYZ) to (gnu services XYZ) References: <20211002163834.29583-1-go.wigust@gmail.com> <20211002163834.29583-13-go.wigust@gmail.com> <87pmsnnukj.fsf@yoctocell.xyz> Date: Mon, 04 Oct 2021 16:04:04 +0200 In-Reply-To: <87pmsnnukj.fsf@yoctocell.xyz> (Xinglu Chen's message of "Sat, 02 Oct 2021 20:35:40 +0200") Message-ID: <878rz8q42z.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.3 (/) X-Debbugs-Envelope-To: 50967 Cc: Oleg Pykhalov , 50967@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) Xinglu Chen skribis: > On Sat, Oct 02 2021, Oleg Pykhalov wrote: > >> * gnu/home/services/configuration.scm (interpose): Include content of fi= les. >> (string-or-gexp?): Rename to 'file-or-string-or-gexp?' and check for fil= e-like >> object. > > I would call it =E2=80=98file-like-or-string-or-gexp?=E2=80=99, just =E2= =80=98files=E2=80=99 doesn=E2=80=99t > really make it clear that it should be a =E2=80=9Cfile-like object=E2=80= =9D. As a matter of API, I would make it monomorphic: accept a file-like object, period. This is what=E2=80=99s done for System services (and polymorphic APIs are rare in general in Guix). =E2=80=98plain-file=E2=80=99 and =E2=80=98scheme-file=E2=80=99 allow users = to =E2=80=9Cconvert=E2=80=9D a string or a gexp into a file-like object. WDYT? Ludo=E2=80=99.