From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id QIYyG8/LZ2XtZgEAauVa8A:P1 (envelope-from ) for ; Thu, 30 Nov 2023 00:39:59 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id QIYyG8/LZ2XtZgEAauVa8A (envelope-from ) for ; Thu, 30 Nov 2023 00:39:59 +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 AB7DE62488 for ; Thu, 30 Nov 2023 00:39:58 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lease-up.com header.s=2017 header.b=rpOF9zPa; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1701301199; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=S1ra+4JagyeztSddSElK3c2TnU5JgutZ3rprwwWOGSg=; b=LSm85qxubYzeAIrqXNMg0708iSYgfzCW8lHS6xXUeOH6uRSQX3G+HNlqbST8YigXPCefzV TZjE4PuMmEm64FKZnTat4Hy2hFCm1zVuOutAuJNFRpOPNhqB8FQO/EPxgFG+ed90nKMfGa O4qtJEwgdBefy0et0lZZJwNiw8/OJcVbGuR/NqHQY/CE42YlM9bBRBOlol2csxB1nJIpnR rDCGPAhC4k+U0+Id1smufCNk2ymZmjginKjuLGa6iEgVWuNM3R53EUC5VXQ4wuMvHHhutT Z50Sn5cPff4HoiPjR/InX7Yt7XD5VGlUqSRZGkBwR/pqezbjNVAJkJUitRoVAw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lease-up.com header.s=2017 header.b=rpOF9zPa; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1701301199; a=rsa-sha256; cv=none; b=pcywEVOU+uiuKkU3FxDgt0nrjcti42YqSut65MOmdjGmzxhwk3INJDpWUyUvd/Lvfx+yO3 eBpC3N6hcLpOcudKzBIaI0rnCoiPCdFpOihPr6HoxBtxeHHStDQ48sh1n8g5Cv/nybIim4 Rqp4lan6CwYM2FhuZ5oWV8DTjY58dBd2ZjXQik/TZoLfLgQUii5wYCtN2HatPZiSXBVIRD rViqpC3ywCAq1T7nlj2NK7/XsxUjzMbdoMeC6Q2fv2D9XzY/YrfrpI+JMwHX2+WTp/NeHs VaXe9UAaOABgI+587pXsRKjdLVonI95EvWxdBdCh56t/QA29knlFt8xHv3gBUg== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r8U9O-0004kO-O2; Wed, 29 Nov 2023 18:39:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r8U9N-0004kG-JO for guix-devel@gnu.org; Wed, 29 Nov 2023 18:39:25 -0500 Received: from sail-ipv4.us-core.com ([208.82.101.137]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1r8U9L-0005Xr-UD; Wed, 29 Nov 2023 18:39:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=S1ra+4JagyeztSd dSElK3c2TnU5JgutZ3rprwwWOGSg=; h=date:references:in-reply-to:subject: cc:to:from; d=lease-up.com; b=rpOF9zPaxVLzfUMxQUd2UxIjvZV8EJvb3sddG0d1 Ab6YRv280eelx0qiRLq7QkWKR5OSwe+XfW6iZvzQAdhO3HbIIi3IxNdbyoFvNNiFfHzVyt DHujA5UH0QKvjbWJwrNyjCG2lb5wBSJRKD5ehLE1RmMwDfMQVzBZLbiyh5gbw= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id 78e0eee1 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Wed, 29 Nov 2023 23:39:18 +0000 (UTC) To: Attila Lendvai , Liliana Marie Prikler Cc: Edouard Klein , guix-devel@gnu.org, Ludovic =?utf-8?Q?Court=C3=A8s?= , Josselin Poiret Subject: Re: Syntactic Diabetes (was Re: A friendlier API for operating-system declarations) In-Reply-To: References: <87wn377rst.fsf@rdklein.fr> <877cm6reum.fsf@rdklein.fr> <52c2337b277721108e5e7cdd6ea32e37e3c20628.camel@gmail.com> <8734wsqwrh.fsf@rdklein.fr> <33976deaf13ce785edefa6ac1b3610054dd4a031.camel@gmail.com> <87v89op6f2.fsf@rdklein.fr> Date: Wed, 29 Nov 2023 15:39:17 -0800 Message-ID: <87ttp4jfiy.fsf@lease-up.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=208.82.101.137; envelope-from=felix.lechner@lease-up.com; helo=sail-ipv4.us-core.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: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Felix Lechner From: Felix Lechner via "Development of GNU Guix and the GNU System distribution." Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -2.26 X-Spam-Score: -2.26 X-Migadu-Queue-Id: AB7DE62488 X-Migadu-Scanner: mx12.migadu.com X-TUID: g5fnM2kIA0jZ Hi Attila, On Wed, Nov 29 2023, Attila Lendvai wrote: > i agree. in my experience, it's good practice in general to try to > make a functional API as convenient as possible, and if that is still > too verbose or cumbersome, only then add a thin layer of syntactic > abstractions that expand to code that uses this functional API. > > [...] > > the downside of generating countless macros is that they won't show up > in backtraces, and they cannot be found when grep'ping the codebase, > and as such make the codebase much less approachable. Reading your words really helped me feel that I'm not alone. You more or less summarized my feelings about the Guix codebase, which I have been reading now for over a year. Guile's syntax features make the code more symbolic and less approachable to newcomers. Of course, syntax features are helpful and necessary in some places. Any large project like GNU Guix, however, must continue to engage a cadre of skilled maintainers. Between Guile records and syntax features, code can get hairy pretty fast. Some files seem to have received more hurried attention recently. In the long run, it's not good for Guix to make code hard to read. Please forgive me, everyone, for speaking up. I did not follow the discussion here at all. Attila's commentary merely resonated with me as I tried to deal with my own shortcomings in contributing to the Guix codebase. Eventually, I hope to make meaningful suggestions to the bootloader interaction with system profiles, and to the automatic "wrapping" of executables, which is currently done by hand. The changes Edouard and Michal may well be very valuable. Please do not allow my comments to reflect on their well-meant ideas and hard work, or on any other contributions to the software we love. Thank you all for contributing to GNU Guix! Kind regards Felix