From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Nala Ginrut Newsgroups: gmane.lisp.guile.user Subject: Re: Curiosity: Microkernel implemented in Guile ? Date: Sun, 26 Jun 2022 18:37:31 +0800 Message-ID: References: <8735fujyi4.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38526"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Dr. Arne Babenhauserheide" , Matias Jose Seco Baccanelli , Guile User To: Jean Abou Samra Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun Jun 26 12:38:02 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 1o5PeU-0009rI-JU for guile-user@m.gmane-mx.org; Sun, 26 Jun 2022 12:38:02 +0200 Original-Received: from localhost ([::1]:56336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o5PeT-0007Rl-D7 for guile-user@m.gmane-mx.org; Sun, 26 Jun 2022 06:38:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60300) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o5PeI-0007Rd-R5 for guile-user@gnu.org; Sun, 26 Jun 2022 06:37:50 -0400 Original-Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]:40920) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o5PeH-0008SN-1a for guile-user@gnu.org; Sun, 26 Jun 2022 06:37:50 -0400 Original-Received: by mail-ed1-x52e.google.com with SMTP id ej4so9262647edb.7 for ; Sun, 26 Jun 2022 03:37:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TphcLtxwbAKQZ3fNNUuux0SYAyx0jICLTYyFVBYQlS8=; b=Mwq+ilZH6u6ZFAZayNCxw7sYeeSmMbRMYA/eLQ0eaa1gz3NlXPfE4D1tydLeTeXiF+ TiblqIs517hpMRIRvlWqdy2iBMOPKpeW7QCCf4bWlQxgi7i4+SmGotC19ckDtjNbOjnA bGHtqXmbTpzOvUky2bFWUIkR37eRzAZxMbM+csvonjCVYZSIrkGbOf3l2xo0jyk7cc6M uOmGx1fKPL6UHz8uxIf+XyvTITdkag5OxNiSaFUw4YHJJDXgKL5b7V8oR6/TGdFjxuUo OaSWlUk4bG/uKVavMPsEELLgIao89qPXKffFKoouaLKVBe6m3E8XAbSOs5HY79upVa4f iNBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TphcLtxwbAKQZ3fNNUuux0SYAyx0jICLTYyFVBYQlS8=; b=qEzAPu0qNQ5sPfnGyDW8gLjxZrqozPm8NbTm+T+qk9IF8rv/9y183CQmJpPKFRCMEu FLg0FQpQOyLuOPJW53OafHo2aSjUa+c9UM4ER3FgQlYI7AJa0ykc9lhVhKZMMcMc1t0l Xne2WSEIxZX5AdkGes9RPs3k3fkq5GkCwNxV33J/LzqLYDHz4rjGD62O4dHbYbKa/M5k V9tyoTGGrQc+ubg046afWJnVjz0WwsNwQS4aTAu4KIzZk2aNq/jm0Nv5hZ36LJ6PW46p iXXWaQsp6DB3vGwuT0Pq/7tnCd55dTIlUHFfRicHp5UcR8yP23VrMjM3YdBgNDj/N7e6 hXTA== X-Gm-Message-State: AJIora8xcf64pWYzdPavl1hG1KfhFx0EB4CEDSTfjC+OIAGdJvuF2UhD TjUfEjJxYOzqyxZy21HbkzRqR6P9U8itY8LxDh8= X-Google-Smtp-Source: AGRyM1u6H2gGCUiSvdHdJAy6w9gqBX9dMR4bZJiwvY8cJckoa1ubpjJi7J6JzN+kwQRGgDjlf2dD2d/FwDt1xZA8tpA= X-Received: by 2002:a05:6402:3323:b0:435:775b:aece with SMTP id e35-20020a056402332300b00435775baecemr10289913eda.210.1656239866376; Sun, 26 Jun 2022 03:37:46 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::52e; envelope-from=nalaginrut@gmail.com; helo=mail-ed1-x52e.google.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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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-Content-Filtered-By: Mailman/MimeDel 2.1.29 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:18342 Archived-At: OK, let's face the issues, I encountered similar problems like what you described. 1. To avoid the irritating compiling message, I have to use parameters to rebind current-error-port. 2. Sometimes folks compile the Guile code and installed it in a wrong load path, so when you run it, it will auto compile everthing again. 3. The debug information seems broken for a long time, it's not good to trace the error. But I don't think it's because of the design of Guile, it's broken when Guile had upgraded the VM implementation. It was good before that. 4. For quick experiment attempt you described, I confess I have no better idea. But it's good to hear your experiences. Best regaeds. On Sat, Jun 25, 2022, 22:36 Jean Abou Samra wrote: > > > > Le 24 juin 2022 =C3=A0 09:45, Dr. Arne Babenhauserheide > > a =C3=A9crit : > > > > =EF=BB=BF > > Jean Abou Samra writes: > > > >>>> Le 24 juin 2022 =C3=A0 03:13, Nala Ginrut a > >>>> =C3=A9crit : > >>> > >>> =EF=BB=BFAgreed, Guile's design was widened. > > > >> Let=E2=80=99s be honest: it wasn=E2=80=99t widened, but shifted. I do= n=E2=80=99t > >> think today=E2=80=99s Guile is a good fit for an extension language. > > > > Why? Which change caused it to not be good as extension language? > > > > (Also replying to Nala.) On the one hand, you have Guile without > 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 > encourage > quick experiments. Bytecode is fussy to integrate in installers: when > 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 > > > > > > >