From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id CNJCKW12sl8NBgAA0tVLHw (envelope-from ) for ; Mon, 16 Nov 2020 12:54:05 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id gHg8JW12sl8aLwAAB5/wlQ (envelope-from ) for ; Mon, 16 Nov 2020 12:54:05 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 14D60940416 for ; Mon, 16 Nov 2020 12:54:05 +0000 (UTC) Received: from localhost ([::1]:57498 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kee1E-0002p0-27 for larch@yhetil.org; Mon, 16 Nov 2020 07:54:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:35960) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kee0E-0001f9-Qa for bug-guix@gnu.org; Mon, 16 Nov 2020 07:53:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:43800) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kee0E-0004kH-Gi for bug-guix@gnu.org; Mon, 16 Nov 2020 07:53:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kee0E-0002cP-FA for bug-guix@gnu.org; Mon, 16 Nov 2020 07:53:02 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#44612: Read standard input in `guix repl' Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 16 Nov 2020 12:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44612 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Pierre Neidhardt Received: via spool by 44612-submit@debbugs.gnu.org id=B44612.160553115710033 (code B ref 44612); Mon, 16 Nov 2020 12:53:02 +0000 Received: (at 44612) by debbugs.gnu.org; 16 Nov 2020 12:52:37 +0000 Received: from localhost ([127.0.0.1]:55346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kedzo-0002bl-VI for submit@debbugs.gnu.org; Mon, 16 Nov 2020 07:52:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35764) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kedzj-0002bQ-Ol for 44612@debbugs.gnu.org; Mon, 16 Nov 2020 07:52:35 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33150) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kedze-0004Yj-9M; Mon, 16 Nov 2020 07:52:26 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=47792 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kedzd-00031K-MR; Mon, 16 Nov 2020 07:52:26 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87h7ptzj8t.fsf@ambrevar.xyz> <20201113190830.GA2995@LionPure> <87blfx1wmf.fsf@gnu.org> <87wnylbkkd.fsf@ambrevar.xyz> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 26 Brumaire an 229 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 16 Nov 2020 13:52:23 +0100 In-Reply-To: <87wnylbkkd.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Mon, 16 Nov 2020 12:36:02 +0100") Message-ID: <87h7ppxy48.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.4 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.4 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 44612@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: FEE7/3T4hcTa Hi, Pierre Neidhardt skribis: > Ludovic Court=C3=A8s writes: > >> Hi, >> >> Bengt Richter skribis: >> >>> On +2020-11-13 10:41:38 +0100, Pierre Neidhardt wrote: >>>> `guix repl` is a fantastic, hassle-free tool to bind Guix with >>>> third-party languages. I've done it here: >>>>=20 >>>> https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/libraries/= ospama/ospama-guix.lisp >> >> I recommend using =E2=80=98guix repl -t machine=E2=80=99 > > Looks like `-t machine` has the same issue. > This does what I want: > > $ echo "(display \"Hi.\\n\")" | guix repl -t machine /dev/stdin > Hi. > > > This does not: > > $ echo "(display \"Hi.\\n\")" | guix repl -t machine=20=20 > (repl-version 0 1 1) > Hi. > (values (non-self-quoting 2052 "#")) The general idea is that the REPL protocol allows you to offload computations to the =E2=80=98guix repl=E2=80=99 process and to read the res= ult of those computations. Side effects such as writing to stdout are not treated, but they=E2=80=99re mostly beyond the scope of =E2=80=98guix repl=E2=80=99. >> and keeping the REPL process around instead of respawning it for every >> expression. > > At first glance, we would want to do this indeed. > > But in the case of Nyxt, there would be no point when to terminate the > process, so it would be around for the whole time Nyxt is running, which > may not be desirable. I think it=E2=80=99s desirable since it saves on CPU costs. > Alternatively, I could simply keep it alive for a given duration (1 > minute?) and automatically spawn it if the process is dead. Yes, that=E2=80=99s a reasonable tradeoff. Thanks, Ludo=E2=80=99.