From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Abou Samra Newsgroups: gmane.lisp.guile.user Subject: Re: Curiosity: Microkernel implemented in Guile ? Date: Sat, 25 Jun 2022 16:35:54 +0200 Message-ID: References: <8735fujyi4.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10171"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Matias Jose Seco Baccanelli , Guile User To: "Dr. Arne Babenhauserheide" , Nala Ginrut Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sat Jun 25 16:37:14 2022 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 1o56uQ-0002QS-8t for guile-user@m.gmane-mx.org; Sat, 25 Jun 2022 16:37:14 +0200 Original-Received: from localhost ([::1]:34092 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o56uO-0002Nl-IQ for guile-user@m.gmane-mx.org; Sat, 25 Jun 2022 10:37:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48238) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o56tM-0001Ni-LN for guile-user@gnu.org; Sat, 25 Jun 2022 10:36:08 -0400 Original-Received: from mout.kundenserver.de ([212.227.17.24]:47005) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o56tJ-0001Kl-ED for guile-user@gnu.org; Sat, 25 Jun 2022 10:36:08 -0400 Original-Received: from [192.168.1.88] ([82.65.251.18]) by mrelayeu.kundenserver.de (mreue109 [213.165.67.119]) with ESMTPSA (Nemesis) id 1Mo6zF-1nKEgt3isF-00pgEh; Sat, 25 Jun 2022 16:36:01 +0200 In-Reply-To: <8735fujyi4.fsf@web.de> X-Mailer: geary/40.0 X-Provags-ID: V03:K1:8iUJXuBFJ47KlpRZ5263fgsyqkljGCgxq67LKs2rxQeU1mqikz9 pPuOcKcIBX8ZJvb5kRNmaw9M93kNUiAYxCWjwrq0tGsEdvmOH2pxjujoSx76532wEmmW45s CVLOAqJfpH9pl3oE8Ajuj1V/lGJ3PcEmcuZ1AzQ9Pdot9B6eG4zm9c79TS/sYkJFjegr/6d iM8Zjie04A8t7FQ7HuTkw== X-UI-Out-Filterresults: notjunk:1;V03:K0:cCPSXt+Pj38=:sNxoyhlJ76VNTzdZuA/Ggj 9ag+zHZ0jcwjmedxbyTXJRBvzJsSpLsyYIbkcICOC/LeiweGUHtbn7AwINeeArRft/bBrDWlX 6zJ8xxv++zioglWVVzAbnj1B4GNzLIWqG804RPXG2of4lneMh7gIj27x/s/G1C+s3/39rw4AL YBcCJ71hOfA4aOHsAddSdHn+f9V66t523DN7LdeAdbk9fYqrx4BS3JPCCNe7+L5YXYdGtoYku sm4EF45QoCAuF1EprBrDKG68zfydYzqiih9vtkKNZGe8MNrX9VEyxxIFooGV9lWLkH3kjJsA/ Xw2O5a3S8Z4MJg5g6Qp8NADYB2x4U3Df60fqDGJ77CxHFblboV0IH8TxbDz6Gpx49Fo3Y8kw3 d+9N2RYlninUnI10yi2at+DcAAic5JtsWPoCthqQjgrlIcrCoFnT5fe8d0dm4hs2LnBcf42JX usrjeagvgEugV69XjO1NrWB6uQS4XYWrzmVbyNir2hS81Mfu61FgeUxDSz9CrqmJtVadoJarX xmcgAnlhYuuWht57y+nPSw5Mll4YQPhonACIlzu8+1hbYcGev7WfEJMzj+wks1oXpZGW1zdTn 5vfg7yKmHSfd+l3ShbsOIKy0mXU3fSE1IQ6LBe2LPXp4YTI62Wqv8176Do7Bam3p7CkoQ851Z bzXQemqkHa0lyKKXdoIhl8mysiwS5bDb1YnOu2+A26RGx+JAs60H4MF9PqaMH+CJQDvQWf4am /SC2OzWTryejyfGYjeDG3WI8i7L4b7L2DCzd0w== Received-SPF: none client-ip=212.227.17.24; envelope-from=jean@abou-samra.fr; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" Xref: news.gmane.io gmane.lisp.guile.user:18338 Archived-At: > Le 24 juin 2022 =C3=A0 09:45, Dr. Arne Babenhauserheide=20 > a =C3=A9crit : >=20 > =EF=BB=BF > Jean Abou Samra writes: >=20 >>>> Le 24 juin 2022 =C3=A0 03:13, Nala Ginrut a=20 >>>> =C3=A9crit : >>>=20 >>> =EF=BB=BFAgreed, Guile's design was widened. >=20 >> Let=E2=80=99s be honest: it wasn=E2=80=99t widened, but shifted. I don= =E2=80=99t=20 >> think today=E2=80=99s Guile is a good fit for an extension language. >=20 > Why? Which change caused it to not be good as extension language? (Also replying to Nala.) On the one hand, you have Guile without=20 compiled bytecode, which is slow to run, and more importantly painful to use because there are no error locations and often no function names in error messages. On the other hand, Guile with bytecode takes compilation time, which is an impediment in applications where it is merely being used as a language that is practical to use for small extensions to an existing program, without a need for optimized code. It forces you to recompile even if you just touched one file, since otherwise it emits ;;; messages about outdated .go files that create noise and/or affect correctness. The compilation is impractical to set up when interfacing with C if your main function is on the C side since compiling is started from the Scheme side. There is no dependency tracking, so you need to recompile everything whenever you change one file, which does not=20 encourage quick experiments. Bytecode is fussy to integrate in installers: when=20 the user unpacks an archive, you need to ensure that the .go files are unpacked after the .scm files, otherwise Guile will consider them outdated. I could list more =E2=80=A6 As a developer on one of the main applications extended with Guile in existence (LilyPond), I would not recommend Guile to anyone looking for an extension language for a new application today. Sorry for not exactly bringing enthusiasm to this otherwise interesting thread. Best regards, Jean