From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: tomas@tuxteam.de Newsgroups: gmane.lisp.guile.user Subject: Re: Is it possible to write program only in Guile? Date: Fri, 20 Oct 2023 06:35:45 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="li/ZzQc2bXe1VJ7r" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18850"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Fri Oct 20 06:36:20 2023 Return-path: Envelope-to: guile-user@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 1qthFE-0004iB-N2 for guile-user@m.gmane-mx.org; Fri, 20 Oct 2023 06:36:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qthEq-0007CM-QR; Fri, 20 Oct 2023 00:35:56 -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 1qthEk-0006gO-SR for guile-user@gnu.org; Fri, 20 Oct 2023 00:35:51 -0400 Original-Received: from mail.tuxteam.de ([5.199.139.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qthEi-0004xt-Nn for guile-user@gnu.org; Fri, 20 Oct 2023 00:35:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tuxteam.de; s=mail; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject :To:From:Date:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=1RagOOWhbUGGOb2b8yet5cypk/0gk4JA3DZbNheKPCA=; b=UbKLei4fQVJ5blOcWl4PPd50gN EkPDGBzhNE7Mggr+sZrqTlGpHgIFnYYRFKWOnp2bhXebcBb+PGV2xKE9ACQPkQW574coJuQi/2gvz AaE4aKigrlc32Jvax4M5fpAt+JycQ3m6cAGme7vk8a4oI2wvVmWatBuxYhO+d68a/o6oLwnhygCOC r55JDWq3TUQVTZ0jHF85zaabw+Uh421E6y/eWeXFim4ubgOVCIYzkk/Vqj56tHoMEYr5qJJblQElH lYhY1WbtxDEAAuR7lNd9DPqq2QsA2VFeGiunmo/78tgtu0LYtE73SNjTsXxQoOMT7jaYuUDhgcDdO Gh3zoViQ==; Original-Received: from tomas by mail.tuxteam.de with local (Exim 4.94.2) (envelope-from ) id 1qthEf-0000nm-Lw for guile-user@gnu.org; Fri, 20 Oct 2023 06:35:45 +0200 Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=5.199.139.25; envelope-from=tomas@tuxteam.de; helo=mail.tuxteam.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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.user:19288 Archived-At: --li/ZzQc2bXe1VJ7r Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Oct 19, 2023 at 01:18:14PM +0200, wolf wrote: > On 2023-10-19 06:52:40 +0200, tomas@tuxteam.de wrote: [...] > > In Linux, for example, a "C executable" [...] > > [...] says "I want to be loaded > > by /lib/ld-linux.so" (the dynamic loader) or something similar. >=20 > Most of the time you would do static binary with musl as a libc. Hm. I guess you mean: "most of the time when you build a static executable", because the "normal" thning to do is to build a dynamic executable these days, and for good reasons. There are good reasons for making static executables as well, of course. > That way (and > utilizing static libraries) you can produce *very* portable native progra= ms. The price your users pay is that they have to keep track of a huge numbers of library versions (and perhaps build variations of those) because each executable carries its own little world. In the Windows world this phenomenon is known as "DLL hell". My Debian laptop has ~2300 packages. Let's assume one fourth of those depend on libc. All of them depend on the same instance. Whenever a bug of libc becomes known, just installing that one package (and restarting those binaries, if necessary) fixes the problem. Now imagine asking myself which one of those ~500 packages carries which version of libc. Another solution, of course, would be to have a "radical source distro", the way Guix or NixOS do. They come with a price tag, too :-) Cheers --=20 t --li/ZzQc2bXe1VJ7r Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQRp53liolZD6iXhAoIFyCz1etHaRgUCZTIDmgAKCRAFyCz1etHa RhbiAJ0fILAd9lv48rbncQd0B5xg9udC9gCeMnxbLinAzfF7/xwUuxvybmfS4uo= =vIOI -----END PGP SIGNATURE----- --li/ZzQc2bXe1VJ7r--