From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Jan Wedekind Newsgroups: gmane.lisp.guile.devel Subject: Re: GNU Guile 2.1.4 released [beta] Date: Thu, 15 Sep 2016 20:19:19 +0100 (BST) Message-ID: References: <87bmzqbtf6.fsf@pobox.com> Reply-To: Jan Wedekind NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Trace: blaine.gmane.org 1473967187 28289 195.159.176.226 (15 Sep 2016 19:19:47 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 15 Sep 2016 19:19:47 +0000 (UTC) User-Agent: Alpine 2.11 (DEB 23 2013-08-11) Cc: guile-devel@gnu.org To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Sep 15 21:19:41 2016 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bkcCA-0006VV-D3 for guile-devel@m.gmane.org; Thu, 15 Sep 2016 21:19:38 +0200 Original-Received: from localhost ([::1]:36985 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bkcC8-0001ru-7m for guile-devel@m.gmane.org; Thu, 15 Sep 2016 15:19:36 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44021) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bkcC2-0001rm-F1 for guile-devel@gnu.org; Thu, 15 Sep 2016 15:19:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bkcBx-0007ct-89 for guile-devel@gnu.org; Thu, 15 Sep 2016 15:19:30 -0400 Original-Received: from basicbox4.server-home.net ([195.137.212.26]:41041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bkcBw-0007bo-V3 for guile-devel@gnu.org; Thu, 15 Sep 2016 15:19:25 -0400 Original-Received: from wedemob.home (host86-163-167-103.range86-163.btcentralplus.com [86.163.167.103]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by basicbox4.server-home.net (Postfix) with ESMTPSA id B6E6A153066C; Thu, 15 Sep 2016 21:19:20 +0200 (CEST) X-X-Sender: jan@wedemob In-Reply-To: <87bmzqbtf6.fsf@pobox.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 195.137.212.26 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:18666 Archived-At: Thanks a lot for the work. I am trying to run my project "aiscm" with it. I noticed that slots are now objects themselves. So instead of (car <>), one can use (slot-ref <> 'name). Please let me know if there is a better way to get the slot names of a class. (use-modules (oop goops)) (define-class () (a #:init-keyword #:a)) (car (car (class-slots (class-of (make #:a 1))))); Guile 2.0 (slot-ref (car (class-slots (class-of (make #:a 1)))) 'name); Guile 2.1.4 Regards Jan On Wed, 14 Sep 2016, Andy Wingo wrote: > We are pleased to announce GNU Guile release 2.1.4. > > Guile 2.1.4 is the fourth pre-release in what will eventually become the > 2.2 release series. We encourage you to test this release and provide > feedback to guile-devel@gnu.org. > > This release adds an atomic reference facility and fixes many small > bugs. See the full NEWS below, for details. > > 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. > > Guile is an implementation of the Scheme programming language, with > support for many SRFIs, packaged for use in a wide variety of > environments. In addition to implementing the R5RS Scheme standard, > Guile includes a module system, full access to POSIX system calls, > networking support, multiple threads, dynamic linking, a foreign > function call interface, and powerful string processing. > > 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. > > Guile 2.1.4 can be installed in parallel with Guile 2.0.x; see > http://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html. > > A more detailed NEWS summary follows these details on how to get the > Guile sources. > > Here are the compressed sources: > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.gz (17MB) > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.xz (10MB) > > Here are the GPG detached signatures[*]: > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.gz.sig > http://alpha.gnu.org/gnu/guile/guile-2.1.4.tar.xz.sig > > Use a mirror for higher download bandwidth: > http://www.gnu.org/order/ftp.html > > Here are the SHA256 checksums: > > 04dd7b9ea58644b5631e74c212678db6498f945c5dd8f3900c01409c054ad7c3 guile-2.1.4.tar.gz > 326440e5041892ea8f99828178385f6066f936353d3a91404b88986f91f713f1 guile-2.1.4.tar.xz > > [*] 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: > > gpg --verify guile-2.1.4.tar.gz.sig > > If that command fails because you don't have the required public key, > then run this command to import it: > > gpg --keyserver keys.gnupg.net --recv-keys FF478FB264DE32EC296725A3DDC0F5358812F8F2 > > and rerun the 'gpg --verify' command. > > This release was bootstrapped with the following tools: > Autoconf 2.69 > Automake 1.15 > Libtool 2.4.6 > Gnulib v0.1-800-g68b6ade > Makeinfo 6.1 > > > Changes in 2.1.4 (changes since the 2.1.3 alpha release): > > * Notable changes > ** C99 required > > Following Emacs, you must use a C99-capable compiler when building > Guile. In the future we also expect require C99 to use Guile's C > interface, at least for `stdint' support. > > * New interfaces > ** Implement R6RS custom binary input/output ports > > See "Custom Ports" in the manual. > > ** Implement R6RS output-buffer-mode > ** Implement R6RS bytevector->string, string->bytevector > > See "R6RS Transcoders" in the manual. > > ** Thread-safe atomic boxes (references) > > See "Atomics" in the manual. > > ** File descriptor finalizers > > See "Ports and File Descriptors" in the manual. > > * Performance improvements > ** Added unboxing support for `logxor' > ** Better integer unboxing > > * Incompatible changes > ** Statically scoped module duplicate handlers > > It used to be that if a module did not specify a #:duplicates handler, > when a name was first referenced in that module and multiple imported > modules provide that name, the value of the > `default-duplicate-binding-handlers' parameter would be used to resolve > the duplicate bindings. We have changed so that instead a module > defaults to the set of handlers described in the manual. If the module > specifies #:duplicates, of course we use that. The > `default-duplicate-binding-handlers' parameter now simply accesses the > handlers of the current module, instead of some global value. > > * Bug fixes > ** Better MinGW support > > `system*' is now supported on MinGW targets. > > ** Avoid flushing buffers on ftell > > Fixes regression relative to Guile 2.0. > > ** HTTP library does not require ETag lists to be qstrings > > ** Fix bug importing specific bindings with #:select > > It used to be that if #:select didn't find a binding in the public > interface of a module, it would actually grovel in the module's > unexported private bindings. This was not intended and is now fixed. > > ** Stronger thread-safety guarantees for port implementations > > See "I/O Extensions" in the manual for notes on threads and port > implementations. > > ** Fix fixnum-range checks in R6RS fixnum bitops > (http://bugs.gnu.org/14917) > > ** Fix `monitor' macro > > ** Fix bug with GUILE_INSTALL_LOCALE=1 and default port encodings > > If GUILE_INSTALL_LOCALE is unset in the environment or set to 1, Guile > will call setlocale() to install the locale. However it was neglecting > to set the default port encoding to the locale's encoding. This is > fixed. > > ** Various compiler bug fixes > >