* Re: GNU Guile 2.1.4 released [beta]
2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
@ 2016-09-14 17:45 ` Nala Ginrut
2016-09-15 19:19 ` Jan Wedekind
2016-09-15 19:45 ` Jan Wedekind
2 siblings, 0 replies; 12+ messages in thread
From: Nala Ginrut @ 2016-09-14 17:45 UTC (permalink / raw)
To: Andy Wingo, guile-user, guile-devel, guile-sources
Nice work!
Thanks for working on it!
I think maybe we can expect 2.2 released end of this year, right? ;-)
Best regards.
On Wed, 2016-09-14 at 13:41 +0200, 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
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
2016-09-14 17:45 ` Nala Ginrut
@ 2016-09-15 19:19 ` Jan Wedekind
2016-09-15 19:44 ` David Pirotte
2016-09-15 19:45 ` Jan Wedekind
2 siblings, 1 reply; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 19:19 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
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 <values> ()
(a #:init-keyword #:a))
(car (car (class-slots (class-of (make <values> #:a 1))))); Guile 2.0
(slot-ref (car (class-slots (class-of (make <values> #: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
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-15 19:19 ` Jan Wedekind
@ 2016-09-15 19:44 ` David Pirotte
2016-09-15 20:00 ` Jan Wedekind
0 siblings, 1 reply; 12+ messages in thread
From: David Pirotte @ 2016-09-15 19:44 UTC (permalink / raw)
To: Jan Wedekind; +Cc: Andy Wingo, guile-devel
[-- Attachment #1: Type: text/plain, Size: 654 bytes --]
Hi Jan,
> 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 <values> ()
> (a #:init-keyword #:a))
>
> (car (car (class-slots (class-of (make <values> #:a 1))))); Guile 2.0
> (slot-ref (car (class-slots (class-of (make <values> #:a 1)))) 'name); Guile
> 2.1.4
slot-definition-name
See the '8.8 Introspection' section in the manual
David
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-15 19:44 ` David Pirotte
@ 2016-09-15 20:00 ` Jan Wedekind
0 siblings, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 20:00 UTC (permalink / raw)
To: David Pirotte; +Cc: Andy Wingo, guile-devel
On Thu, 15 Sep 2016, David Pirotte wrote:
> Hi Jan,
>
>> 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 <values> ()
>> (a #:init-keyword #:a))
>>
>> (car (car (class-slots (class-of (make <values> #:a 1))))); Guile 2.0
>> (slot-ref (car (class-slots (class-of (make <values> #:a 1)))) 'name); Guile
>> 2.1.4
>
> slot-definition-name
>
> See the '8.8 Introspection' section in the manual
>
> David
>
Thanks, that works with both versions of Guile :)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-14 11:41 GNU Guile 2.1.4 released [beta] Andy Wingo
2016-09-14 17:45 ` Nala Ginrut
2016-09-15 19:19 ` Jan Wedekind
@ 2016-09-15 19:45 ` Jan Wedekind
2016-09-15 20:07 ` Jan Wedekind
2016-09-16 15:49 ` David Pirotte
2 siblings, 2 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 19:45 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
Hi,
I haven't managed to isolate it properly but I observed some strange
problem with "concatenate" (using my "aiscm" library).
(define-method (match (i <integer>) . args) ...)
...
(apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value out of range: 7
A workaround is to replace "concatenate" with "apply match".
I haven't managed to isolate the bug properly so far.
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
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-15 19:45 ` Jan Wedekind
@ 2016-09-15 20:07 ` Jan Wedekind
2016-09-16 15:49 ` David Pirotte
1 sibling, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-15 20:07 UTC (permalink / raw)
To: Andy Wingo; +Cc: guile-devel
A quick note that the workaround is not valid.
Sorry if I caused confusion.
> Hi,
> I haven't managed to isolate it properly but I observed some strange problem
> with "concatenate" (using my "aiscm" library).
>
> (define-method (match (i <integer>) . args) ...)
> ...
> (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
> oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref:
> Value out of range: 7
>
> A workaround is to replace "concatenate" with "apply match".
> I haven't managed to isolate the bug properly so far.
>
> Regards
> Jan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-15 19:45 ` Jan Wedekind
2016-09-15 20:07 ` Jan Wedekind
@ 2016-09-16 15:49 ` David Pirotte
2016-09-16 19:42 ` Jan Wedekind
2016-09-16 20:42 ` Jan Wedekind
1 sibling, 2 replies; 12+ messages in thread
From: David Pirotte @ 2016-09-16 15:49 UTC (permalink / raw)
To: Jan Wedekind; +Cc: Andy Wingo, guile-devel
[-- Attachment #1: Type: text/plain, Size: 661 bytes --]
Jan,
> I haven't managed to isolate it properly but I observed some strange
> problem with "concatenate" (using my "aiscm" library).
> (define-method (match (i <integer>) . args) ...)
> ...
> (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
> oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value
> out of range: 7
impossible to help you on this because the snipset is incomplete
please provide a complete match definition
Also, I think match is really a 'problematic' name, because it is defined in
(ice-9 match), and most of us almost always import this module.
Chers,
David
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-16 15:49 ` David Pirotte
@ 2016-09-16 19:42 ` Jan Wedekind
2016-09-16 20:42 ` Jan Wedekind
1 sibling, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-16 19:42 UTC (permalink / raw)
To: David Pirotte; +Cc: Andy Wingo, guile-devel
[-- Attachment #1: Type: text/plain, Size: 978 bytes --]
Ok, no worries. I will rename "match".
The test suite of "aiscm" fails but I didn't manage to create a small example so far.
On 16. September 2016 16:49:51 GMT+00:00, David Pirotte <david@altosw.be> wrote:
>Jan,
>
>> I haven't managed to isolate it properly but I observed some strange
>> problem with "concatenate" (using my "aiscm" library).
>
>> (define-method (match (i <integer>) . args) ...)
>> ...
>> (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
>> oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure
>vector-ref: Value
>> out of range: 7
>
> impossible to help you on this because the snipset is incomplete
> please provide a complete match definition
>
>Also, I think match is really a 'problematic' name, because it is
>defined in
>(ice-9 match), and most of us almost always import this module.
>
>Chers,
>David
--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
[-- Attachment #2: Type: text/html, Size: 1577 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-16 15:49 ` David Pirotte
2016-09-16 19:42 ` Jan Wedekind
@ 2016-09-16 20:42 ` Jan Wedekind
2016-09-17 14:07 ` David Pirotte
1 sibling, 1 reply; 12+ messages in thread
From: Jan Wedekind @ 2016-09-16 20:42 UTC (permalink / raw)
To: David Pirotte; +Cc: Andy Wingo, guile-devel
On Fri, 16 Sep 2016, David Pirotte wrote:
> Jan,
>
>> I haven't managed to isolate it properly but I observed some strange
>> problem with "concatenate" (using my "aiscm" library).
>
>> (define-method (match (i <integer>) . args) ...)
>> ...
>> (apply match (concatenate (list (list 1) (list 2 2 3 4 5 6 ))))
>> oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value
>> out of range: 7
>
> impossible to help you on this because the snipset is incomplete
> please provide a complete match definition
>
> Also, I think match is really a 'problematic' name, because it is defined in
> (ice-9 match), and most of us almost always import this module.
>
> Chers,
> David
>
Hi David,
I managed to create a failing test. After a certain number of
differently typed calls there is an error in "multiple-arity-dispatcher":
(use-modules (oop goops))
(define-generic native-type)
(define-method (native-type (i <integer>) . args) 0)
(define-method (native-type (i <real>) . args) 1)
(define-method (native-type (b <boolean>) . args) 2)
(native-type 1)
(native-type 1.3)
(native-type #f)
(native-type 1 1.2)
(native-type 1.4 2)
(native-type 1.4 2 3)
;(native-type 1.4 1.5); add more calls as needed
;(native-type #f #t); add more calls as needed
;oop/goops.scm:1336:2: oop/goops.scm:1336:2: In procedure vector-ref: Value out of range: 3
;
;Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
,bt
;In oop/goops.scm:
;While executing meta-command:
;ERROR: In procedure vector-set!: Value out of range: 5
I hope you can fix it. I can have a look as well but I don't understand
the code well enough at the moment.
Regards
Jan
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-16 20:42 ` Jan Wedekind
@ 2016-09-17 14:07 ` David Pirotte
2016-09-18 13:42 ` Jan Wedekind
0 siblings, 1 reply; 12+ messages in thread
From: David Pirotte @ 2016-09-17 14:07 UTC (permalink / raw)
To: Jan Wedekind; +Cc: Andy Wingo, guile-devel
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]
Hello Jan,
> (use-modules (oop goops))
> (define-generic native-type)
> (define-method (native-type (i <integer>) . args) 0)
> (define-method (native-type (i <real>) . args) 1)
> (define-method (native-type (b <boolean>) . args) 2)
>
> (native-type 1)
> (native-type 1.3)
> (native-type #f)
> (native-type 1 1.2)
> (native-type 1.4 2)
> (native-type 1.4 2 3)
This works fine using 2.0.12, but indeed it fails using master [2.1.4 here]
Please report bug, bug-guile at gnu dot org, with this snipset and the bug trace,
mentioning it works using 2.0.12, fails using master.
David
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: GNU Guile 2.1.4 released [beta]
2016-09-17 14:07 ` David Pirotte
@ 2016-09-18 13:42 ` Jan Wedekind
0 siblings, 0 replies; 12+ messages in thread
From: Jan Wedekind @ 2016-09-18 13:42 UTC (permalink / raw)
To: David Pirotte; +Cc: Andy Wingo, guile-devel
[-- Attachment #1: Type: text/plain, Size: 979 bytes --]
Ok, thanks for testing it.
Here is the item in the bug tracker [1].
[1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24454
On 17. September 2016 15:07:15 GMT+00:00, David Pirotte <david@altosw.be> wrote:
>Hello Jan,
>
>> (use-modules (oop goops))
>> (define-generic native-type)
>> (define-method (native-type (i <integer>) . args) 0)
>> (define-method (native-type (i <real>) . args) 1)
>> (define-method (native-type (b <boolean>) . args) 2)
>>
>> (native-type 1)
>> (native-type 1.3)
>> (native-type #f)
>> (native-type 1 1.2)
>> (native-type 1.4 2)
>> (native-type 1.4 2 3)
>
>This works fine using 2.0.12, but indeed it fails using master [2.1.4
>here]
>
>Please report bug, bug-guile at gnu dot org, with this snipset and the
>bug trace,
>mentioning it works using 2.0.12, fails using master.
>
>David
--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
[-- Attachment #2: Type: text/html, Size: 1508 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread