From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Massimiliano Gubinelli Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.devel Subject: Re: GNU Guile 3.0.5 released Date: Thu, 7 Jan 2021 16:24:36 +0100 Message-ID: References: <878s94gah7.fsf@pobox.com> Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39592"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Andy Wingo To: guile-user , guile-devel@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Thu Jan 07 16:25:28 2021 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 1kxXAF-000A9n-QD for guile-user@m.gmane-mx.org; Thu, 07 Jan 2021 16:25:27 +0100 Original-Received: from localhost ([::1]:40052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kxXAE-00045m-Qg for guile-user@m.gmane-mx.org; Thu, 07 Jan 2021 10:25:26 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42336) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kxX9X-00044a-0N; Thu, 07 Jan 2021 10:24:48 -0500 Original-Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:38317) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kxX9U-0001X1-F5; Thu, 07 Jan 2021 10:24:42 -0500 Original-Received: by mail-wr1-x432.google.com with SMTP id r7so6010616wrc.5; Thu, 07 Jan 2021 07:24:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=FtOQ2C+9jTznq38iGrdgB8gR4dH4WQpbvWamXh1vXuA=; b=MZmxuvb5azKB0xxgQoNDi1WEkHkSuzSQr22sK2hKCJuYhBz+AzxQ0aaw48iaYXMKbO RqJKKj7H9wHTFnYQSH23upzkpiafZs8e/exfiW0CFrBPnMkbGp7plePTVLvq5m8urPCs SexJhyvqIWZCjflRsAewFlohLKgcThlh8Jw8LjXddLbrjhcceQWGEzHa+IA0NrdVLnuS 5mkdbFionGuUZdBjbQr7A9R/GwxSOq0kGxHTtOEm7VDChpJC880pKid+fzxT2fqdrYpb 6YszZyqbGWX/oPyhSdRLUMmjZlp2UiPxc85U8EULS3gQLd0MgZOX9LrTySlo3iTC1c+I Uyeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=FtOQ2C+9jTznq38iGrdgB8gR4dH4WQpbvWamXh1vXuA=; b=UjbwE/OFbAIkxOuvXnVONwvo+aWzylpd8n0HWnVGkXPPyQ3okq0ktWSSn2GU0I+0dD YJlrxCW442ckwiO9HT+A8l8wwmpYR+Ss6Rx4Ywi2h8cybLOjpbyxnap37kgu9qIQu2UT xPwF7EjTX7HcF2Snym29ChvYate2w71kQgqtbdYUwNgjcgjkA4lDd6cr4GPNxdnQKl7m fJ4TqIka/B3c7rzArHF+qT727zl5fVK0qfDeRDN3+PRZWupfnnVCRVd9oRwxDug9tlQ6 U08L/J0Xs5LoIUaybGvf29akXr3K8/e24zUPSy0FnE3vchhOv7Br0IrkfboFSYZLpyIU 6wZg== X-Gm-Message-State: AOAM530j8ak4e2M9jiP+Dp0sa0ISMnV2D9ZHV4PWbK2oeS8u+JamNI6A SXrVyQ14Bqb2EFlBsWWO0cOVU1YMulgfXA== X-Google-Smtp-Source: ABdhPJy9oUMbmUcsNIVNXPabciL3AZ77SqXp37Yyb62ZYVqWg57cM0V4ukG+G6z4XhoRiz1jNLpP3g== X-Received: by 2002:a5d:684b:: with SMTP id o11mr9505095wrw.157.1610033078298; Thu, 07 Jan 2021 07:24:38 -0800 (PST) Original-Received: from [192.168.0.10] ([78.192.22.137]) by smtp.gmail.com with ESMTPSA id z6sm7809059wmi.15.2021.01.07.07.24.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Jan 2021 07:24:37 -0800 (PST) In-Reply-To: <878s94gah7.fsf@pobox.com> X-Mailer: Apple Mail (2.3608.120.23.2.4) Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=m.gubinelli@gmail.com; helo=mail-wr1-x432.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 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 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:17161 gmane.lisp.guile.devel:20631 Archived-At: Dear all, Great news! Looking forward to work with this new release and dive a bit = more into the internals of the compiler. Can somebody give an update on the status of Guile 3 on Windows and Mac = with M1 processors? Are these platforms supported or there are problems = (e.g. with the JIT?). What are the plans after this release? On my side I'm working slowly to a port of GNU TeXmacs to Guile 3. We = have a working development branch but still there is much way to go, in = particular to support separate compilation of the various modules (if = ever this will be possible). Performance seems indeed better, I still = have to come up with pertinent benchmarks to evaluate the tradeoffs of = various choices (e.g. Guile 1.8 vs Guile 3.0 vs. S7 vs. ...). I've = recently summarized in a blog post here: https://texmacs.github.io/notes/docs/scheming.html = the current situation as far as our project is concerned.=20 Best regards, Massimiliano > On 7. Jan 2021, at 14:09, Andy Wingo wrote: >=20 > We are delighted to announce GNU Guile release 3.0.5, the latest in = the > 3.0 stable release series. >=20 > Compared to the previous release in the 3.0 series, Guile 3.0.5 can > compile chained "if" expressions into the equivalent of what a C > compiler does with "switch". It also adds some new warning passes. >=20 > Compared to the previous stable series (2.2.x), Guile 3.0 adds support > for just-in-time native code generation, speeding up all Guile = programs. > See the NEWS extract at the end of the mail for full details. >=20 >=20 > The Guile web page is located at http://gnu.org/software/guile/, and > among other things, it contains a copy of the Guile manual and = pointers > to more resources. >=20 > Guile is an implementation of the Scheme programming language, = packaged > for use in a wide variety of environments. In addition to = implementing > the R5RS, R6RS, and R7RS Scheme standards, Guile includes full access = to > POSIX system calls, networking support, multiple threads, dynamic > linking, a foreign function call interface, powerful string = processing, > and HTTP client and server implementations. >=20 > Guile can run interactively, as a script interpreter, and as a Scheme > compiler to VM bytecode. It is also packaged as a library so that > applications can easily incorporate a complete Scheme interpreter/VM. > An application can use Guile as an extension language, a clean and > powerful configuration language, or as multi-purpose "glue" to connect > primitives provided by the application. It is easy to call Scheme = code > from C code and vice versa. Applications can add new functions, data > types, control structures, and even syntax to Guile, to create a > domain-specific language tailored to the task at hand. >=20 > Guile 3.0.5 can be installed in parallel with Guile 2.2.x; see > = http://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.= html. >=20 > A more detailed NEWS summary follows these details on how to get the > Guile sources. >=20 > Here are the compressed sources: > http://ftp.gnu.org/gnu/guile/guile-3.0.5.tar.lz (10MB) > http://ftp.gnu.org/gnu/guile/guile-3.0.5.tar.xz (12MB) > http://ftp.gnu.org/gnu/guile/guile-3.0.5.tar.gz (21MB) >=20 > Here are the GPG detached signatures[*]: > http://ftp.gnu.org/gnu/guile/guile-3.0.5.tar.lz.sig > http://ftp.gnu.org/gnu/guile/guile-3.0.5.tar.xz.sig > http://ftp.gnu.org/gnu/guile/guile-3.0.5.tar.gz.sig >=20 > Use a mirror for higher download bandwidth: > http://www.gnu.org/order/ftp.html >=20 > Here are the SHA256 checksums: >=20 > a484eeffbd4d655b0c05b1382df8d40f1e561f7e71b963065762f6a6a497c675 = guile-3.0.5.tar.lz > 2d76fb023d2366126a5fac04704f9bd843846b80cccba6da5d752318b03350f1 = guile-3.0.5.tar.xz > 222046009a20b432ffa7c11b8d5a1d9ad0d8627be05cc1e8af612bc54ba2ea85 = guile-3.0.5.tar.gz >=20 > [*] Use a .sig file to verify that the corresponding file (without the > .sig suffix) is intact. First, be sure to download both the .sig file > and the corresponding tarball. Then, run a command like this: >=20 > gpg --verify guile-3.0.5.tar.gz.sig >=20 > If that command fails because you don't have the required public key, > then run this command to import it: >=20 > gpg --keyserver keys.gnupg.net --recv-keys = 4FD4D288D445934E0A14F9A5A8803732E4436885 >=20 > and rerun the 'gpg --verify' command. >=20 > This release was bootstrapped with the following tools: > Autoconf 2.69 > Automake 1.16.2 > Libtool 2.4.6 > Gnulib v0.1-1157-gb03f418 > Makeinfo 6.7 >=20 > An extract from NEWS follows. >=20 >=20 > Changes in 3.0.5 (since 3.0.4) >=20 > * New interfaces and functionality >=20 > ** O(1) compilation of `case' and related expressions >=20 > Guile now optimizes chains of eq? comparisons to constants, resulting = in > O(1) dispatch time, regardless of the length of the chain. This > optimization is also unlocked in many cases for `match' expressions = with > many similar clauses whose first differentiator are constants. >=20 > ** New (ice-9 copy-tree) module >=20 > This module includes the `copy-tree' procedure that was previously > implemented in C and present in the default `(guile)' module. See > "Copying" in the manual. >=20 > ** New warning: use-before-definition >=20 > This analysis, enabled at `-W1', issues warnings for programs that use > top-level variables before they are defined. >=20 > ** New warning: non-idempotent-definition >=20 > This analysis, enabled at `-W1', issues warnings for programs that = whose > use of a variable is ambiguous. For example, in the program: >=20 > (define saved-add +) > (define + error) >=20 > The intention would seem to be to "save" the value of the base `+' > procedure, then override it locally. However if this program is ever > loaded twice, then the second time it is loaded, `+' will be taken = from > the local binding instead of the import. Users that want this kind of > behavior should either use lexical bindings instead of top-level > bindings, or otherwise rename important clobbered bindings via = modules. >=20 > * New deprecations >=20 > ** `copy-tree' in the default environment, and `scm_copy_tree' from C >=20 > Import the `(ice-9 copy-tree)' module instead. >=20 > ** `unbound-variable-analysis`, `macro-use-before-definition-analysis` >=20 > These bindings from `(language tree-il analyze)' are replaced by the > use-before-definition analysis, which powers a number of warnings. = Use > `make-use-before-definition-analysis', but note that these interfaces > are quite intimate parts of the compiler! >=20 > * Incompatible changes >=20 > ** `copy' read-option removed >=20 > This read option would include a copy of the source expression in the > source-properties of each subexpression. This option has always been > off by default and lost most of its use value with the switch to a > compiler in Guile 2.0. >=20