From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Dr. Arne Babenhauserheide" Newsgroups: gmane.lisp.guile.devel Subject: Re: The Guile junk drawer and a C plea Date: Sat, 29 Jun 2024 20:12:45 +0200 Message-ID: <87tthbpqhu.fsf@web.de> References: <20240629002027.13853-1-richard@freakingpenguin.com> <20240629124128.hNhS2C00S3x6CSs01NhTmA@xavier.telenet-ops.be> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39433"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "mikael@djurfeldt.com" , "Thompson, David" , Richard Sent , guile-devel To: Maxime Devos Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Sat Jun 29 20:13:17 2024 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sNcZY-000A4r-AK for guile-devel@m.gmane-mx.org; Sat, 29 Jun 2024 20:13:16 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sNcZI-0006ar-Bg; Sat, 29 Jun 2024 14:13:00 -0400 Original-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 1sNcZG-0006Ys-7O for guile-devel@gnu.org; Sat, 29 Jun 2024 14:12:58 -0400 Original-Received: from mout.web.de ([212.227.17.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sNcZE-000621-De for guile-devel@gnu.org; Sat, 29 Jun 2024 14:12:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1719684767; x=1720289567; i=arne_bab@web.de; bh=ZtDKTIWDT8PzeqrhPkXTLpnAtBBzNtL/20GdrsDA1us=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=RqWHao4BCbXlh2yB7CX7jN5k0AOt5yZwEmDoDTRYx7Pr1mVmT58ngTKuqlr2MM2t ZgjUV3iCozA1PSsouhOJzVdGuFwDAlrc/vqcLvNE+eL427KZUGkLM5GUFq/UwBsjU W6NQkaLTq9Q+C3Bw1QkUK5HUSvJ+q3hX0YKSYOuwTLbHMCa6U/hZRF7nEAvD/MSyz NwsJDIaphatTDscxkrw1moxudeb5WJtOv682l3kbFI+eeiqEJLzzuZdz2WZ/WnTjJ Sd5/K1bbnk4Y/ocH7Is6rNMC/mdi9cfNy8QKkkdYkVDbS4iTYfqdM+axkIDr790CT IRl/ciucC2qxAoSXoQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Original-Received: from fluss ([84.165.21.10]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MtPrY-1s9vQe3msI-015jgk; Sat, 29 Jun 2024 20:12:46 +0200 In-Reply-To: <20240629124128.hNhS2C00S3x6CSs01NhTmA@xavier.telenet-ops.be> (Maxime Devos's message of "Sat, 29 Jun 2024 12:41:27 +0200") X-Provags-ID: V03:K1:srjS5BrhQ2jwHIaoC7lqdWgAMkIzLR/w0zlmTDLzHfF3radlVU+ EID/jm9tMGc7BuaAY7Q9OFsjQOTGu9eTwZ/LqfcOqb0S9MYP6eqoygP9AC/5N9G9x2XKmEp +g9S8SRmgRPxB7Y1JagRfbVz12rnyfFmeI6rdQ9o8W36VSFGNfsWo6ZGoRXhKi0HouQe+SP +pm+pvPrMivd4CWUcClrA== UI-OutboundReport: notjunk:1;M01:P0:x4TzVD4U52Q=;ICqgzREspUQVzCMExkYeXh/JFKR UcEqskEdjCMRA1AeySmqAkTEqcvJ/xj5ZZWPfnYqLEhBQMqXwA9Azepe4E9eHCoxFSuQf5fff 9VqM7s2Hw+ErATKGh3o4tqpXluTHaCwBQ7VWKMuXmU8fkFbwuUp6gznrzVmWl+D2rs8tmSyRC Lbt/ChxIzPQRaGQjmMmRGtkQznfzlbTcZ8rP690auSQZoOQU7g/LKw5Dp+uiTS0HXrHO1ZSpX jLheELSN5K6nWq0YlGogOWbONOkrn+L6X1I+9ytYqbYpPWzpSCCRav7twyTkHNXwIiKINnhAE Sg2yUbcmBlyE/DKSUlkjrgZhYfQ5nhXATj3aHDb3v/5zTDXnmLo3MVymDOXCV5thaa/1vFJrc S6rEh3UH5T83+RE5hTZ3lo2Y+5hnCSi+tqFvBJDr+hoGVsfj6ZC+c72OhiXnKzV0Dk29ONyhe oUHehA+RUrRIUjvvTzsmM5LLCHXIFY0KZUbmWnK+FR523nL+3a0BWvuSXeqFYNsIEIVIV4A7r Rupnx7ZlP4qVE9/qu4+SJtgSfGiyok7+77HiY7ifuPajnVfVY9yeEh0BfTaoLq46zNZ6pzoIR AEKL9RqIvvlEW6FdWCuQgZMDPo3NeGHSm0TcKmZtNO48p6TO70wRj5zN13fRb7zzuvG/Pi+4x iUpgnwBVXY//lTaoWlb273wSzu5/9LaRPlwAuNgXjVFzTq5CJCa9uNh+H9WgShmIAkUikMDBw unJVOfNL4+/DRxW8totaEpucDugmckzw5GtSbOS544+1ygUx0ruIVCj5yW9wDJYxMdBdoFix Received-SPF: pass client-ip=212.227.17.12; envelope-from=arne_bab@web.de; helo=mout.web.de 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, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.devel:22503 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Maxime Devos writes: >> I suggest that we design a new module hierarchy, introduce aliases for >> module bindings, and still supply the old module hierarchy during a few >> years for backward compatibility. > Also, on deprecation and removal: just because you deprecate something, d= oesn=E2=80=99t mean it has to be removed. And just because something > deprecated will be removed or because something is volatile, doesn=E2=80= =99t mean it has to be an incompatible change!=20 Change can be done without breaking things, but that=E2=80=99s not what was proposed. I=E2=80=99m not saying that there shouldn=E2=80=99t be change, just that th= ere shouldn=E2=80=99t be *breaking* change. And that a new hierarchy we define is not guaranteed to actually *stay* better. There would be errors, but different ones. We can only expect that the new one will be significantly better in case where either the computing environment changed substantially or where our knowledge and skill of how to define such a structure improved substantially. Also take into account whether we can adapt third party tutorials. These are an often forgotten part of software and when they no longer work due to chages, this seriously hampers adoption. One such case was making modules declarative by default. This broke tutorials which described how to create a live-REPL for interactive game development. It cost me hours of time to find the cause. And then again when I worked on a system with only Guile 2.0 where that module-option #:declarative #f is illegal. The compatibility change for the REPL completely broke the code on that other system. And the deployment system had another Guile version again, causing more breakage. Best wishes, Arne =2D-=20 Unpolitisch sein hei=C3=9Ft politisch sein, ohne es zu merken. draketo.de --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmaATp4QHGFybmVfYmFi QHdlYi5kZQAKCRAT741FJAPD698GD/9rNPisiFjZ28YTyiUBdN5tNLwxxHvVlsfE X1dJl+ydn8r/yP6+INDPml2y+54CA8SVQq23q3Z2zy62YQB56bMAe7cQS5OtvTt7 RxY4gagrqhHdAXbmHA2o0382JDxXMD4yCdrUHOrHLbisudiDHr+mwtbwqKjEzqkw lboDMI9KRVLSDdRBbb2qhGoMuWq5Ank8EdGWQWQTvLm4TiGPXNavRBKT0t2pJb6/ VDYENp9C9CEo9KpQUp6sRwKSKMNPwRNVQUGqXBNbA42c7fQbdU+KcXGYpLv+doap R38BV+kKlEYdT9dnjcM+kuob1zX4jLdXBy1je5FCScD60E8bc9soPZs9TJZlUt2u JKghB7MEdab3eX3FT+nmb2Nyl3WHPrqMJjNZF0RHbiXHHqlstk7btl2Kgd5iDZpF tXiD8Rvuuz4weSyNN2bNr+DmOOBjzylvaNBk0R0Ki/av9P/PK2hBHBq4fGdyhKNa 0ARYT3zE4nejUHh9BxU/6pNeodRgKTsbi0vdYpjzLJH8C8dyEqrymOlF3VPoaq/2 uZH+UXe0p70nRdJBJ5pOYhyu20rui5qSiKYAcEL7xoM8CNeu8i2A1LwGqUbr3FJ3 rC21qyQKK8syn3lbiPAyffVGj4BFSRIS2tGMWZEh8a7Z+jQQ3c1DAsWzA9B+HD8J +mqTqN1rVIjEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmaATp4QHGFy bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSILuA/98dV8LxkMA84iM2c4jtUIpoHMb 88sXm+n5QDcqLYAWF29fewVeeDp7HIyazO+LpkYqKw3R7OUOI6WvyX/IO0mkFSLz goF3lMecXFH0/fdO89kcHcUXotsE+sAaDoRR6zt6A+HorhJZzDTqgqZdqMSgU7Gx 4KjSxYwi/qCRGUjrsw== =JVfc -----END PGP SIGNATURE----- --=-=-=--