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 8KknDFz3E2KuWQAAgWs5BA (envelope-from ) for ; Mon, 21 Feb 2022 21:34:36 +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 AD/+CFz3E2LH6AAAauVa8A (envelope-from ) for ; Mon, 21 Feb 2022 21:34:36 +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 647081ACEE for ; Mon, 21 Feb 2022 21:34:35 +0100 (CET) Received: from localhost ([::1]:57688 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nMFOD-0000s3-I7 for larch@yhetil.org; Mon, 21 Feb 2022 15:34:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44416) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMFNy-0000rv-KL for help-guix@gnu.org; Mon, 21 Feb 2022 15:34:18 -0500 Received: from mailbackend.panix.com ([166.84.1.89]:35996) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMFNm-0005Jc-3f for help-guix@gnu.org; Mon, 21 Feb 2022 15:34:18 -0500 Received: from panix3.panix.com (panix3.panix.com [166.84.1.3]) by mailbackend.panix.com (Postfix) with ESMTP id 4K2YtP0VVszGdP for ; Mon, 21 Feb 2022 15:34:05 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=panix.com; s=panix; t=1645475645; bh=xkUY2/G7Fi4VKVHbGjt1PJYY5AyquN7g1nrkj+p1FBA=; h=Date:From:To:cc:Subject; b=QeA+dRNH3mpl16jbYCmGin0ExfWTkvUM2XLq4TTwjMRxC1VJBdf6ejx7QNX6tRAQa IbahLlHx4M98EFxY37YflXUr9qn1qn7VJV074RLw8NMhpac3uGWNdX3QsdgfI6cLhW i29DV8eQ71EeiO2+ZCbMJC5OYleDRNKpldt0Z2Rc= Received: by panix3.panix.com (Postfix, from userid 7271) id 4K2YtP18hpz1QWf; Mon, 21 Feb 2022 15:34:05 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by panix3.panix.com (Postfix) with ESMTP id 4K2YtP17Sqz1QWd; Mon, 21 Feb 2022 15:34:05 -0500 (EST) Date: Mon, 21 Feb 2022 20:34:05 +0000 () From: Jay Sulzberger To: help-guix@gnu.org Subject: Re: scanner Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Received-SPF: pass client-ip=166.84.1.89; envelope-from=jays@panix.com; helo=mailbackend.panix.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, 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=1645475675; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=JFCVJ/Zsqoz9igeX+ZjzZkjkap0qWzct2f3Cl1NkxX8=; b=CRp8xBRyjDLT5r4E3DeNAZBGALkHDAhIMsnM+22KUURVl1Czp30p1K70FEJSJzTxJqbArY /WhTfE9Qb/8xrWN1DnNfPzuEbyvYLoWo+nrKT8Q7ZEwHvkMnNc9GdE/9bpCu7jrntxgH19 6VxMveZU7oCT8HOwL843w/V54VbNCAiFs5oGHRY3WcTaamI8/Nwx9RxeQqGEwLtte6uUup iGhjyZkik2ed4pItQ6ZOFOmauCzDlBeV8kqUw1nAOn7PGYMn++lV5ewEjgt8N0Qa0jFucp z2WjwPty8ZgokJcrfML5HhFWWAom6cLPguMpcekaL2Ap7rgE6jZRqYJX17V7/g== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1645475675; a=rsa-sha256; cv=none; b=dpuI7gGVtJpTxAj/XTEMGcLAMoDoX9xEH7h2quYYdI0BrIJWi2jUOfZuNvy9urPSLLr/xC NsXHm0KyEfXmZHl77+JRwh/ZWs+Nv9XEnvpulDPNeQBNgJNTvbxbzK8GD3UR3FLMoCGEyP a6kXldMbG3zWwD2vqpbfRZkOUcfV7I53EaxjKN3izXyqGPeLZBp7MrT7pDBgEX7lsK4iPv du05l/ix2wsBGu5aLWaN3V1ABnK1CJnue2x6FJ077Ctdwhn22KN22J3s0+Cdrn5YxruXBO OxNt6HsRIvAYwL9cvUMJVlV7GdXJmxO8kg9Pp+m5m3gVYl8XSJs7QejDEucgyA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=panix.com header.s=panix header.b=QeA+dRNH; dmarc=none; 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: -1.13 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=panix.com header.s=panix header.b=QeA+dRNH; dmarc=none; 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: 647081ACEE X-Spam-Score: -1.13 X-Migadu-Scanner: scn1.migadu.com X-TUID: f3Zs+MclTqze 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.