From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 2HQgLkooFWJ1XgEAgWs5BA (envelope-from ) for ; Tue, 22 Feb 2022 19:15:38 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id cHqpKkooFWIPFQEAauVa8A (envelope-from ) for ; Tue, 22 Feb 2022 19:15:38 +0100 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 5DB7D23036 for ; Tue, 22 Feb 2022 19:15:38 +0100 (CET) Received: from localhost ([::1]:36886 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMZhJ-00039F-5I for larch@yhetil.org; Tue, 22 Feb 2022 13:15:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55676) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMZgN-000393-9T for help-guix@gnu.org; Tue, 22 Feb 2022 13:14:39 -0500 Received: from mout02.posteo.de ([185.67.36.66]:56971) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMZgK-0002ee-3Q for help-guix@gnu.org; Tue, 22 Feb 2022 13:14:38 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id C2396240105 for ; Tue, 22 Feb 2022 19:14:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1645553673; bh=HX5X/ZyZGfQXQiJdvHakC9BLBLlf3xNH8n78OmEckno=; h=Date:To:From:Subject:From; b=Aff4EnwFWhNF7coxVs5s097Tew3Tad66EuIATfPVaMilC6EjnPNVQ4KdCzw77vAxw 9EVyM1u9XAt7AjcuDNuytQP/xgEpfmhf6TJQ+zAXdN5x2/ojzb7wNEnlSCZ3hGup6L wTLRKtePdYi39KxKtFfbAHHWLmIjXJG2lHhBCnEL0HkGXEUfhvFPAfH0P4twntlgQC AwAlXOy989/wYsNi6vKG5io30O8XS4z5qkXWMeJuzasOrh7Nrk4v/h/2ZNfb2lLIwS KlOcGSGCaMdrEjfXACqyz0L4BG38yMhIbyIGqRro8Af/7ekF0kbZxZu1t2N0wjCg6s Efn3hISKfTEKA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4K36kx12jdz9rxP; Tue, 22 Feb 2022 19:14:32 +0100 (CET) Message-ID: <7d8a96bf-37c6-fc43-de3b-d9de990813d1@posteo.de> Date: Tue, 22 Feb 2022 18:14:32 +0000 MIME-Version: 1.0 To: jays@panix.com, help-guix@gnu.org Content-Language: en-GB From: Gottfried Subject: text editor Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=185.67.36.66; envelope-from=gottfried@posteo.de; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1645553738; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=YdGsb/peZAr9MJ+k39mxtx9tEyRkm0cuMU9XYdyn7a4=; b=SJixFecRdj/FXwB2yAYj7qfIpTRPqGdhqa3c/KSZX+xfLIpTMQTu5qYprzLDiENdWJ7jXw cVcprsoqLuaoFGGfCaORXmBoQXg4dQITn3LjHDHs36+N4Ft21sMuy3f7SgPjQ9CaPUR1W2 v2BzssppsQAO5v4D0cDeFtYV2dmDNXYhAW4waBeLVF032PK+LxdDSoDO+7ywyglL5ttebF 4C4g6OD1oH1u4+xpvYm3HCkgsKyY+wJZxBKJEo+90RI5InqDS3v55gDoYjpi7aT2to2flV fJPKQqTl6UosS16rnVzDE6mDnWry7LRx4Y5Im/9Zk4rKAFN6owlDODhTW0Id9w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1645553738; a=rsa-sha256; cv=none; b=ga/QJhf5IHfG5wGwYK7KZ91mRY+4nvEKrPrucqQdZT9SUY5cLWssVHtAnPqSP6pL2tIZrD A/yxBnlttZz85rLtOKTAaopKF2p7+hJtrj5aZGKyjLQqJFOV/BuHjUIc2i+o+Ta2/M3v+8 9CuuBCIEhaze7C++/GkbgQ0BCqnPt+0WhPcdhd0EWBlEh9FrGXbfjVaIWG1FzBuY6b20nq eZKSiPsLihZq1Dd4nhowXNln15AuOdrN8ddP3cAR8CLatNxYbavrdk1/SakHFeIRBOJHlV p5maYCm5pTO1FxGc1cMkIoqE6fouqNV3nA/Yxt64mgIWILpNzM8hRxXNlqA6UA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.de header.s=2017 header.b=Aff4EnwF; dmarc=pass (policy=none) header.from=posteo.de; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.53 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.de header.s=2017 header.b=Aff4EnwF; dmarc=pass (policy=none) header.from=posteo.de; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 5DB7D23036 X-Spam-Score: -5.53 X-Migadu-Scanner: scn1.migadu.com X-TUID: mdwUvIzaB/KM Hi, thanks for Your email. I am not sitting the whole day in front of a computer, I am working in a technical job to help people. So I didn´t have time to learn any computer language, emacs etc. because I didn´t need it for my life yet. Which editor You would propose , I should use, to show which brackets belong to each other, as you described in your email? I guess emacs is too difficult for me to learn, because it would make sense only, if I used it regularly. So it would be good a more simple editor. gottfried Date: Mon, 21 Feb 2022 20:34:05 +0000 () From: Jay Sulzberger To: help-guix@gnu.org Subject: Re: scanner Message-ID: Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Dear Gottfried , I use an editor which allows me to check whether a bit of text is a well formed sexp, that is, a well formed Lisp expression. I do not have Guile on the machine I am writing this on, but I am writing using Emacs. Here is a syntactically, well, at the level of sexps, well formed version of your Guix expression: (services (append (list (service mate-desktop-service-type) (service enlightenment-desktop-service-type) (service cups-service-type (cups-configuration (web-interface? #t) (extensions (list cups-filters hplip)))) (service openssh-service-type) (service tor-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) (modify-services %desktop-services (sane-service-type _ => sane-backends)))) I got this by typing the following into an emacs buffer: (services (append (list (service mate-desktop-service-type) (service enlightenment-desktop-service-type) (service cups-service-type (cups-configuration (web-interface? #t) (extensions (list cups-filters hplip)))) (service openssh-service-type) (service tor-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) (modify-services %desktop-services (sane-service-type _ => sane-backends)) which is, I think, the thing you sent to the help-guix list. I then added a single parenthesis onto your expression and Emacs showed me that the new right parenthesis matched the left parenthesis on the second line of your expression. That is, the left parenthesis in (append I then added one more right parenthesis, which Emacs showed me matched the first left parenthesis of your whole expression. That is, the left parenthesis in (services Assuming Emacs is correct in matching parentheses, the result, as shown at top, is a Lisply correct sexp. But it may, or may not, be a Guixly syntactically correct expression, because the Guix system may have more constraints on what it accepts as a command, beyond the constraint of being a proper sexp. I remain, as ever, your fellow student of history and probability, Jay Sulzberger PS. I got the Lisp-traditional (well, a Lisp traditional) indentation of the (text representation of) the first expression by asking Emacs to perform: indent-sexp on an un-indented version. PPS. Reading more carefully your post to help-guix, I now understand that you already completely grasp the main meat of my note. But as a member in mostly good standing of the Emacs Tendency of the Front for Free Software, I send this note.