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 IF/EDPltnF/JKgAA0tVLHw (envelope-from ) for ; Fri, 30 Oct 2020 19:48:09 +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 eEKSCPltnF8sGQAAB5/wlQ (envelope-from ) for ; Fri, 30 Oct 2020 19:48:09 +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 CD6E89405D1 for ; Fri, 30 Oct 2020 19:48:08 +0000 (UTC) Received: from localhost ([::1]:51618 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kYaNb-0007FP-Mf for larch@yhetil.org; Fri, 30 Oct 2020 15:48:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kYaND-0007FF-2U for guix-devel@gnu.org; Fri, 30 Oct 2020 15:47:43 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:43390) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kYaNA-0003Dl-TB for guix-devel@gnu.org; Fri, 30 Oct 2020 15:47:42 -0400 Received: from localhost (80-110-126-103.cgn.dynamic.surfer.at [80.110.126.103]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 4CF1A336063E; Fri, 30 Oct 2020 20:47:35 +0100 (CET) Date: Fri, 30 Oct 2020 20:47:32 +0100 From: Danny Milosavljevic To: Brendan Tildesley Subject: Re: A better way to access records. Message-ID: <20201030204732.18ac1eb4@scratchpost.org> In-Reply-To: References: <1f780c067b3dec2f320e056e99b93fbd076b18ae.camel@student.tugraz.at> X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/yBzjXPDUZ6R2.KZJtbK9.j7"; protocol="application/pgp-signature"; micalg=pgp-sha512 Received-SPF: none client-ip=85.13.145.193; envelope-from=dannym@scratchpost.org; helo=dd26836.kasserver.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/30 15:47:35 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org, Leo Prikler Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.11 X-TUID: 2PmjGa5mQ8Rq --Sig_/yBzjXPDUZ6R2.KZJtbK9.j7 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Brendan, On Fri, 30 Oct 2020 21:59:59 +1100 Brendan Tildesley wrote: > No I didn't want to specify the fields at all, just have all of them=20 > automatically defined. I think that that is a bad idea for maintenance reasons. This totally would hide variables from the enclosing context without you being able to tell that it does so from the lexical context. For example let's say you have: (define-record size) (let ((color 5)) (with-record foo color)) And later on you update (but do not change the text of the with-record usage at all), so in total you have: (define-record size color) (let ((color 5)) (with-record foo color)) Now color is a different one!! I don't even like unqualified imports for that reason: a change in a remote place can affect what this module does without this module body referring to it literally in the first place. On the other hand, when directly specifying the fields (let ((color 5)) (with-record (foo size) color)) I'm all for that. --Sig_/yBzjXPDUZ6R2.KZJtbK9.j7 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl+cbdQACgkQ5xo1VCww uqWElgf/RjP+9KhCCtT9ULRbl53SjLrzhoYFKRSli985qpfSmJX4Xzaa6oawuK4J f1CTdd+ZjDltUok75Xp1LCoNoMc9y0RZuuNIVNQ9919ZdInFwN7RlFcQAhyWaaNW PU5qRN9hTEWrxFODtFOvS+FrcTt/ZQEod4C3vqEV+WmKY31hcPNUBV8DibO51zGn Qsoh+jD7gBAfeFpd8FZU96PeCge7WsRrifrVz0xXlHG1qusMyiUOhEKL2GiZnVND 8n5rODIOqPH0EK/IaY5MjZwSL3aESjM/HAesqJaRAUQSTN3yABVSgGIbxWmRSQ1C EXyWszYn/GQwJMivOryWB3veLLxAng== =cBQ8 -----END PGP SIGNATURE----- --Sig_/yBzjXPDUZ6R2.KZJtbK9.j7--