Re: GNU Guile 2.9.8 Released [beta]

2020-01-25 Thread Nala Ginrut
@Andy Wingo 
It's my mistake to call an incompatible constructor after I updated the
interfaces. I think Guile-3 made more strict checking because this mistake
wasn't caught before 2.9.

Now folks may use docker to try Artanis on Guile-3

docker pull registry.gitlab.com/nalaginrut/artanis:latest

Best regards.



On Sun, Jan 19, 2020 at 3:43 AM Nala Ginrut  wrote:

> Just a report, the same compiling error existing in Guile-3.0.0.
>
> Best regards.
>
>
> On Tue, Jan 14, 2020 at 4:49 PM Nala Ginrut  wrote:
>
>> Hi Wingo!
>> Here're update:
>> 1. 2.9.9 didn't fix this issue
>>
>> 2. I imported r6rs record-type in (artanis utils), and this module was
>> imported in almost every artanis modules.
>> I do use r6rs specific record API to introspect the internal things for
>> debugging in Artanis.
>> And I imported r6rs define-record-type in server-context.scm
>> I guess there're some name conflicting.
>>
>>
>>
>> On Sat, Jan 11, 2020 at 6:33 PM Andy Wingo  wrote:
>>
>>> On Wed 08 Jan 2020 15:22, Nala Ginrut  writes:
>>>
>>> > In unknown file:
>>> >4 (primitive-load-path "artanis/server/server-context" #<…>)
>>> > In ice-9/eval.scm:
>>> >626:19  3 (_ #)
>>> > 155:9  2 (_ #)
>>> > In ice-9/boot-9.scm:
>>> >   1153:19  1 (_ _ _ _ _ _ _)
>>> >   1655:16  0 (raise-exception _ #:continuable? _)
>>> >
>>> > ice-9/boot-9.scm:1655:16: In procedure raise-exception:
>>> > Wrong number of arguments to #>> ice-9/boot-9.scm:1153:19 (a b c d e f)>
>>> >
>>> 
>>> >
>>> > Any hint that I can figure out whait's incompatible?
>>>
>>> Gosh we need to improve this info.  Anyway the procedure at
>>> boot-9.scm:1153:19 is a record constructor, for a record with 6 fields.
>>> Apparently somewhere in (artanis server server-context) is calling it
>>> with the wrong number of arguments.  What do you use for records?  Do
>>> you have your own abstraction or do you use R6RS records or something?
>>> Perhaps something in artanis relied on the way that R6RS records used to
>>> implement single inheritance, as a chain of objects instead of a flat
>>> record.  Or perhaps the adaptations to R6RS records in Guile introduced
>>> a bug.  I am interested to know the answer :)
>>>
>>> Andy
>>>
>>


Re: GNU Guile 2.9.8 Released [beta]

2020-01-18 Thread Nala Ginrut
Just a report, the same compiling error existing in Guile-3.0.0.

Best regards.


On Tue, Jan 14, 2020 at 4:49 PM Nala Ginrut  wrote:

> Hi Wingo!
> Here're update:
> 1. 2.9.9 didn't fix this issue
>
> 2. I imported r6rs record-type in (artanis utils), and this module was
> imported in almost every artanis modules.
> I do use r6rs specific record API to introspect the internal things for
> debugging in Artanis.
> And I imported r6rs define-record-type in server-context.scm
> I guess there're some name conflicting.
>
>
>
> On Sat, Jan 11, 2020 at 6:33 PM Andy Wingo  wrote:
>
>> On Wed 08 Jan 2020 15:22, Nala Ginrut  writes:
>>
>> > In unknown file:
>> >4 (primitive-load-path "artanis/server/server-context" #<…>)
>> > In ice-9/eval.scm:
>> >626:19  3 (_ #)
>> > 155:9  2 (_ #)
>> > In ice-9/boot-9.scm:
>> >   1153:19  1 (_ _ _ _ _ _ _)
>> >   1655:16  0 (raise-exception _ #:continuable? _)
>> >
>> > ice-9/boot-9.scm:1655:16: In procedure raise-exception:
>> > Wrong number of arguments to #> ice-9/boot-9.scm:1153:19 (a b c d e f)>
>> >
>> 
>> >
>> > Any hint that I can figure out whait's incompatible?
>>
>> Gosh we need to improve this info.  Anyway the procedure at
>> boot-9.scm:1153:19 is a record constructor, for a record with 6 fields.
>> Apparently somewhere in (artanis server server-context) is calling it
>> with the wrong number of arguments.  What do you use for records?  Do
>> you have your own abstraction or do you use R6RS records or something?
>> Perhaps something in artanis relied on the way that R6RS records used to
>> implement single inheritance, as a chain of objects instead of a flat
>> record.  Or perhaps the adaptations to R6RS records in Guile introduced
>> a bug.  I am interested to know the answer :)
>>
>> Andy
>>
>


Re: GNU Guile 2.9.8 Released [beta]

2020-01-14 Thread Nala Ginrut
Hi Wingo!
Here're update:
1. 2.9.9 didn't fix this issue

2. I imported r6rs record-type in (artanis utils), and this module was
imported in almost every artanis modules.
I do use r6rs specific record API to introspect the internal things for
debugging in Artanis.
And I imported r6rs define-record-type in server-context.scm
I guess there're some name conflicting.



On Sat, Jan 11, 2020 at 6:33 PM Andy Wingo  wrote:

> On Wed 08 Jan 2020 15:22, Nala Ginrut  writes:
>
> > In unknown file:
> >4 (primitive-load-path "artanis/server/server-context" #<…>)
> > In ice-9/eval.scm:
> >626:19  3 (_ #)
> > 155:9  2 (_ #)
> > In ice-9/boot-9.scm:
> >   1153:19  1 (_ _ _ _ _ _ _)
> >   1655:16  0 (raise-exception _ #:continuable? _)
> >
> > ice-9/boot-9.scm:1655:16: In procedure raise-exception:
> > Wrong number of arguments to # ice-9/boot-9.scm:1153:19 (a b c d e f)>
> >
> 
> >
> > Any hint that I can figure out whait's incompatible?
>
> Gosh we need to improve this info.  Anyway the procedure at
> boot-9.scm:1153:19 is a record constructor, for a record with 6 fields.
> Apparently somewhere in (artanis server server-context) is calling it
> with the wrong number of arguments.  What do you use for records?  Do
> you have your own abstraction or do you use R6RS records or something?
> Perhaps something in artanis relied on the way that R6RS records used to
> implement single inheritance, as a chain of objects instead of a flat
> record.  Or perhaps the adaptations to R6RS records in Guile introduced
> a bug.  I am interested to know the answer :)
>
> Andy
>


Re: GNU Guile 2.9.8 Released [beta]

2020-01-13 Thread Stefan Israelsson Tampe
I can confirm that this patch solves the issue

On Sat, Jan 11, 2020 at 11:33 AM Andy Wingo  wrote:

> On Wed 08 Jan 2020 15:22, Nala Ginrut  writes:
>
> > In unknown file:
> >4 (primitive-load-path "artanis/server/server-context" #<…>)
> > In ice-9/eval.scm:
> >626:19  3 (_ #)
> > 155:9  2 (_ #)
> > In ice-9/boot-9.scm:
> >   1153:19  1 (_ _ _ _ _ _ _)
> >   1655:16  0 (raise-exception _ #:continuable? _)
> >
> > ice-9/boot-9.scm:1655:16: In procedure raise-exception:
> > Wrong number of arguments to # ice-9/boot-9.scm:1153:19 (a b c d e f)>
> >
> 
> >
> > Any hint that I can figure out whait's incompatible?
>
> Gosh we need to improve this info.  Anyway the procedure at
> boot-9.scm:1153:19 is a record constructor, for a record with 6 fields.
> Apparently somewhere in (artanis server server-context) is calling it
> with the wrong number of arguments.  What do you use for records?  Do
> you have your own abstraction or do you use R6RS records or something?
> Perhaps something in artanis relied on the way that R6RS records used to
> implement single inheritance, as a chain of objects instead of a flat
> record.  Or perhaps the adaptations to R6RS records in Guile introduced
> a bug.  I am interested to know the answer :)
>
> Andy
>
>


Re: GNU Guile 2.9.8 Released [beta]

2020-01-11 Thread Andy Wingo
On Wed 08 Jan 2020 15:22, Nala Ginrut  writes:

> In unknown file:
>4 (primitive-load-path "artanis/server/server-context" #<…>)
> In ice-9/eval.scm:
>626:19  3 (_ #)
> 155:9  2 (_ #)
> In ice-9/boot-9.scm:
>   1153:19  1 (_ _ _ _ _ _ _)
>   1655:16  0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1655:16: In procedure raise-exception:
> Wrong number of arguments to # ice-9/boot-9.scm:1153:19 (a b c d e f)>
> 
>
> Any hint that I can figure out whait's incompatible?

Gosh we need to improve this info.  Anyway the procedure at
boot-9.scm:1153:19 is a record constructor, for a record with 6 fields.
Apparently somewhere in (artanis server server-context) is calling it
with the wrong number of arguments.  What do you use for records?  Do
you have your own abstraction or do you use R6RS records or something?
Perhaps something in artanis relied on the way that R6RS records used to
implement single inheritance, as a chain of objects instead of a flat
record.  Or perhaps the adaptations to R6RS records in Guile introduced
a bug.  I am interested to know the answer :)

Andy



Re: GNU Guile 2.9.8 Released [beta]

2020-01-11 Thread Andy Wingo
On Thu 09 Jan 2020 22:14, Stefan Israelsson Tampe  
writes:

> In language/cps/closure-conversion.scm: 
>   749:15  5 (_ 2705 _) 
>   771:22  4 (lp # …) 
>   771:22  3 (lp # …) 
>   771:22  2 (lp # …) 
>   610:11  1 (allocate-closure _ _ _ _ _ 1) 

Nice bug!  I wish I had a test case :)  Can you try the following patch
and see if it fixes the issue for you?

Cheers,

Andy

diff --git a/module/language/cps/closure-conversion.scm 
b/module/language/cps/closure-conversion.scm
index 1452212f0..17a81f674 100644
--- a/module/language/cps/closure-conversion.scm
+++ b/module/language/cps/closure-conversion.scm
@@ -1,6 +1,6 @@
 ;;; Continuation-passing style (CPS) intermediate language (IL)
 
-;; Copyright (C) 2013-2019 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2020 Free Software Foundation, Inc.
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -596,6 +596,17 @@ term."
  ($continue ktag0 src
($primcall 'allocate-words/immediate `(closure . ,(+ nfree 2))
   ())
+(#(#t 0)
+ (with-cps cps
+   (build-term ($continue k src ($const #f)
+(#(#t 1)
+ ;; A well-known closure of one free variable is replaced
+ ;; at each use with the free variable itself, so we don't
+ ;; need a binding at all; and yet, the continuation
+ ;; expects one value, so give it something.  DCE should
+ ;; clean up later.
+ (with-cps cps
+   (build-term ($continue k src ($const #f)
 (#(#t 2)
  ;; Well-known closure with two free variables; the closure is a
  ;; pair.
@@ -666,17 +677,6 @@ bound to @var{var}, and continue to @var{k}."
   (#(#f 0)
(with-cps cps
  (build-term ($continue k src ($const-fun kfun)
-  (#(#t 0)
-   (with-cps cps
- (build-term ($continue k src ($const #f)
-  (#(#t 1)
-   ;; A well-known closure of one free variable is replaced
-   ;; at each use with the free variable itself, so we don't
-   ;; need a binding at all; and yet, the continuation
-   ;; expects one value, so give it something.  DCE should
-   ;; clean up later.
-   (with-cps cps
- (build-term ($continue k src ($const #f)
   (#(well-known? nfree)
;; A bit of a mess, but beta conversion should remove the
;; final $values if possible.



Re: GNU Guile 2.9.8 Released [beta]

2020-01-09 Thread Stefan Israelsson Tampe
I can't make a simple case out of this. But the gist is that we have a
module c

(define-module (c)
  #:export (fail))

(define fail (cons 'fail '()))

Then in module b:

(define-module (b)
  #:use-module (c)
  #:export (f))

(define-syntax-rule (kif it p x y)
  (let ((it p))
(if (eq? it fail)
y
x)))

(define (f x)
  (kif it (x) it x))

Module b is too simple and this compiles, I have a more advanced module and
uses of the tag fail. Now this module
compiles when we have the definition of fail in the same module but
separating it out to module c lead to the fopllowing
stack trace:
Backtrace:
In system/base/compile.scm:
  155:11 19 (_ #)
  224:14 18 (read-and-compile _ #:from _ #:to _ #:env _ #:opts _)
   175:2 17 (compile _ #:from _ #:to _ #:env _ #:opts _)
  183:32 16 (compile-fold _ _ _ (#:to-file? #t #:warnings (# # # …)))
In language/cps/compile-bytecode.scm:
  699:12 15 (compile-bytecode _ # …)
In language/cps/closure-conversion.scm:
   885:7 14 (convert-closures _)
In language/cps/intmap.scm:
   519:5 13 (visit-branch #(#(#(# …) …) …) …)
   519:5 12 (visit-branch #(#(# …) …) …)
   519:5 11 (visit-branch #(# …) …)
In language/cps/intset.scm:
   470:5 10 (visit-branch #(#(#(#(1064828927 3623737183 …) …) …) …) …)
   470:5  9 (visit-branch #(#(#(1064828927 3623737183 # # # …) …) …) …)
   470:5  8 (visit-branch #(#(3047188480 218316806 1799356468 …) …) …)
   470:5  7 (visit-branch #(213200 #f 1073741824 4294287363 # # # …) …)
   470:5  6 (visit-branch 4093640703 _ 2688 _)
In language/cps/closure-conversion.scm:
  749:15  5 (_ 2705 _)
  771:22  4 (lp # …)
  771:22  3 (lp # …)
  771:22  2 (lp # …)
  610:11  1 (allocate-closure _ _ _ _ _ 1)
In ice-9/boot-9.scm:
 1655:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1655:16: In procedure raise-exception:
unexpected well-known nullary, unary, or binary closure
Makefile:1295: recipe for target 'oop/pf-objects.go' failed
make: *** [oop/pf-objects.go] Error 1








On Thu, Jan 2, 2020 at 2:37 PM Andy Wingo  wrote:

> We are pleased to announce GNU Guile release 2.9.8.  This is the eighth
> and possibly final pre-release of what will eventually become the 3.0
> release series.
>
> Compared to the current stable series (2.2.x), the future 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.
>
> Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a bug in
> libguile that caused writes to unmapped memory in some circumstances.
> This problem manifested itself as a failure of Guile to compile itself
> on some systems, notably Ubuntu 18.04 on x86-64.  It also fixes a couple
> warnings related to SRFI-35.
>
> The current plan is to make a 3.0.0 final release on 17 January 2020.
> We may need another prerelease in the interim.  It's a good time to test
> the prereleases to make sure they work on your platform.  Please send
> any build reports (success or failure) to guile-devel@gnu.org, along
> with platform details.  You can file a bug by sending mail to
> bug-gu...@gnu.org.
>
> 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.9.8 can be installed in parallel with Guile 2.2.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.9.8.tar.lz   (10MB)
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.xz   (12MB)
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.gz   (21MB)
>
> Here are the GPG detached signatures[*]:
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.lz.sig
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.xz.sig
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.gz.sig
>
> Use a 

Re: GNU Guile 2.9.8 Released [beta]

2020-01-08 Thread Nala Ginrut
When I was trying to compile Artanis with Guile-2.9.8, it throw error like
this:
---
WARNING: (artanis utils): imported module (rnrs) overrides core binding
`record-accessor'
Backtrace:
In ice-9/psyntax.scm:
   285:10 19 (parse _ (("placeholder" placeholder)) (()) _ c (eval) …)
In ice-9/eval.scm:
   293:34 18 (_ #)
In ice-9/boot-9.scm:
   3366:4 17 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
  3379:24 16 (_)
   222:29 15 (map1 (((artanis utils)) ((artanis config)) ((# #)) # …))
   222:29 14 (map1 (((artanis config)) ((artanis irregex)) ((# …)) …))
   222:29 13 (map1 (((artanis irregex)) ((artanis server #)) ((…)) …))
   222:17 12 (map1 (((artanis server server-context)) ((artanis …)) …))
  3283:17 11 (resolve-interface (artanis server server-context) # _ # …)
In ice-9/threads.scm:
390:8 10 (_ _)
In ice-9/boot-9.scm:
  3209:13  9 (_)
In ice-9/threads.scm:
390:8  8 (_ _)
In ice-9/boot-9.scm:
  3493:20  7 (_)
   2792:4  6 (save-module-excursion #)
  3513:26  5 (_)
In unknown file:
   4 (primitive-load-path "artanis/server/server-context" #<…>)
In ice-9/eval.scm:
   626:19  3 (_ #)
155:9  2 (_ #)
In ice-9/boot-9.scm:
  1153:19  1 (_ _ _ _ _ _ _)
  1655:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1655:16: In procedure raise-exception:
Wrong number of arguments to #


Any hint that I can figure out whait's incompatible?

Thanks!



On Wed, Jan 8, 2020 at 5:43 AM Andy Wingo  wrote:

> On Tue 07 Jan 2020 21:00, Stefan Israelsson Tampe 
> writes:
>
> > Bump!
> >
> > Great, but loading an extension like:
> >
> > (catch #t
> >   (lambda ()
> > (throw #t)
> > (load-extension "libguile-persist" "persist_init") (pk 1))
> >   (lambda x
> > (let ((file
> >(%search-load-path "src/.libs/libguile-persist.so")))
> >   (if
> >file
> >(catch #t
> >  (lambda ()
> >(load-extension file "persist_init"))
> >  (lambda x
> >(warn
> > "libguile-persist is not loadable!")))
> >(warn
> > "libguile-persist is not present, did you forget to make
> it?")
> >
> > And then have  line like
> >
> > (pk 5 serialize-vm-ra)
> >
> > Loading this module prints
> > (5 #f)
> >
> > Worked in releases before.
>
> Surely this test case can be shortened?  All the load-extension bits
> appear to not be necessary, right?
>
> Andy
>
>


Re: GNU Guile 2.9.8 Released [beta]

2020-01-07 Thread Andy Wingo
On Tue 07 Jan 2020 21:00, Stefan Israelsson Tampe  
writes:

> Bump!
>
> Great, but loading an extension like:
>
> (catch #t
>   (lambda ()
> (throw #t)
> (load-extension "libguile-persist" "persist_init") (pk 1))
>   (lambda x  
> (let ((file  
>(%search-load-path "src/.libs/libguile-persist.so")))
>   (if 
>file
>(catch #t
>  (lambda ()  
>(load-extension file "persist_init"))
>  (lambda x
>(warn
> "libguile-persist is not loadable!")))
>(warn 
> "libguile-persist is not present, did you forget to make it?")
>
> And then have  line like
>
> (pk 5 serialize-vm-ra)
>
> Loading this module prints
> (5 #f)
>
> Worked in releases before.

Surely this test case can be shortened?  All the load-extension bits
appear to not be necessary, right?

Andy



Re: GNU Guile 2.9.8 Released [beta]

2020-01-07 Thread Stefan Israelsson Tampe
Bump!

Great, but loading an extension like:

(catch #t
  (lambda ()
(throw #t)
(load-extension "libguile-persist" "persist_init") (pk 1))
  (lambda x
(let ((file
   (%search-load-path "src/.libs/libguile-persist.so")))
  (if
   file
   (catch #t
 (lambda ()
   (load-extension file "persist_init"))
 (lambda x
   (warn
"libguile-persist is not loadable!")))
   (warn
"libguile-persist is not present, did you forget to make it?")

And then have  line like

(pk 5 serialize-vm-ra)


Loading this module prints
(5 #f)

Worked in releases before.

Although loading the extension in the shell shows that serialize-vm-ra is
bound to a function.

On Thu, Jan 2, 2020 at 2:37 PM Andy Wingo  wrote:

> We are pleased to announce GNU Guile release 2.9.8.  This is the eighth
> and possibly final pre-release of what will eventually become the 3.0
> release series.
>
> Compared to the current stable series (2.2.x), the future 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.
>
> Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a bug in
> libguile that caused writes to unmapped memory in some circumstances.
> This problem manifested itself as a failure of Guile to compile itself
> on some systems, notably Ubuntu 18.04 on x86-64.  It also fixes a couple
> warnings related to SRFI-35.
>
> The current plan is to make a 3.0.0 final release on 17 January 2020.
> We may need another prerelease in the interim.  It's a good time to test
> the prereleases to make sure they work on your platform.  Please send
> any build reports (success or failure) to guile-devel@gnu.org, along
> with platform details.  You can file a bug by sending mail to
> bug-gu...@gnu.org.
>
> 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.9.8 can be installed in parallel with Guile 2.2.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.9.8.tar.lz   (10MB)
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.xz   (12MB)
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.gz   (21MB)
>
> Here are the GPG detached signatures[*]:
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.lz.sig
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.xz.sig
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.gz.sig
>
> Use a mirror for higher download bandwidth:
>   http://www.gnu.org/order/ftp.html
>
> Here are the SHA256 checksums:
>
>   3ce11e9dca0f475fa944729d99f33c379fe8962e729bd21a99470249624c71d7
> guile-2.9.8.tar.lz
>   4a8cf663b8bfd435168935c74a8ec434328ffad16230322c64f0ac567dda2c26
> guile-2.9.8.tar.xz
>   31c3d458ff9342db130e27c8d82d2a33912da92845e5ee431b6a125971a823d2
> guile-2.9.8.tar.gz
>
> [*] 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.9.8.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
> 4FD4D288D445934E0A14F9A5A8803732E4436885
>
> and rerun the 'gpg --verify' command.
>
> This release was bootstrapped with the following tools:
>   Autoconf 2.69
>   Automake 1.16.1
>   Libtool 2.4.6
>   Gnulib v0.1-1157-gb03f418
>   Makeinfo 6.5
>
> An extract from NEWS follows.
>
>
> Changes in alpha 2.9.8 (since alpha 2.9.7):
>
> * Bug fixes
>
> ** Fix bug in which abort_to_prompt used an invalid stack pointer
>
> 

Re: GNU Guile 2.9.8 Released [beta]

2020-01-05 Thread Andy Wingo
On Fri 03 Jan 2020 06:34, Nala Ginrut  writes:

> When I was trying to compile Artanis, the configure threw an error:
> 
> checking for Guile version >= 3.0... configure: error: Guile 3.0 required, 
> but 2.9.8 found
> 
>
> Here's what I put in configure.ac:
> GUILE_PKG(2.2 2.3 2.9 3.0)
>
> My question is "what's the correct config here"?

There was a bug in guile.m4 from a few years ago doesn't do the right
thing for major version changes.  I think you need to update guile.m4
from git, then do:

GUILE_PKG([2.2 3.0])

Also note that it's not meaningful to put in alpha releases to GUILE_PKG
-- 2.9.7's effective version is 3.0.

FWIW I would encourage doing GUILE_PKG([3.0 2.2]) instead, as it's
generally the right thing to default to newer Guile release series.

Cheers,

Andy



Re: GNU Guile 2.9.8 Released [beta]

2020-01-03 Thread tomas
On Fri, Jan 03, 2020 at 01:34:59PM +0800, Nala Ginrut wrote:
> When I was trying to compile Artanis, the configure threw an error:
> 
> checking for Guile version >= 3.0... configure: error: Guile 3.0 required,
> but 2.9.8 found
> 
> 
> Here's what I put in configure.ac:
> GUILE_PKG(2.2 2.3 2.9 3.0)
> 
> My question is "what's the correct config here"?

Hm. I think I had that with nyacc too. This worked for me:

  GUILE_PKG([3.0])
  GUILE_PROGS([2.9.5])

I think this is due to our currently apocalyptic [1] situation:

  tomas@trotzki:~/src/guile/nyacc$ guile
  GNU Guile 2.9.5
  [...]
  
  Enter `,help' for help.
  scheme@(guile-user)> (version)
  $1 = "2.9.5"
  scheme@(guile-user)> (effective-version)
  $2 = "3.0"

(replace 2.9.5 for 2.9.8 as appropriate).

Cheers
[1] Although apocalyptic has often a negative connotation, I'm using
   it here in its more original sense [2], i.e. full of gleeful
   expectation :-)

[2] https://en.wiktionary.org/wiki/apocalyptic

-- tomás


signature.asc
Description: Digital signature


Re: GNU Guile 2.9.8 Released [beta]

2020-01-02 Thread Nala Ginrut
When I was trying to compile Artanis, the configure threw an error:

checking for Guile version >= 3.0... configure: error: Guile 3.0 required,
but 2.9.8 found


Here's what I put in configure.ac:
GUILE_PKG(2.2 2.3 2.9 3.0)

My question is "what's the correct config here"?

Best regards.



On Thu, Jan 2, 2020 at 9:37 PM Andy Wingo  wrote:

> We are pleased to announce GNU Guile release 2.9.8.  This is the eighth
> and possibly final pre-release of what will eventually become the 3.0
> release series.
>
> Compared to the current stable series (2.2.x), the future 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.
>
> Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a bug in
> libguile that caused writes to unmapped memory in some circumstances.
> This problem manifested itself as a failure of Guile to compile itself
> on some systems, notably Ubuntu 18.04 on x86-64.  It also fixes a couple
> warnings related to SRFI-35.
>
> The current plan is to make a 3.0.0 final release on 17 January 2020.
> We may need another prerelease in the interim.  It's a good time to test
> the prereleases to make sure they work on your platform.  Please send
> any build reports (success or failure) to guile-devel@gnu.org, along
> with platform details.  You can file a bug by sending mail to
> bug-gu...@gnu.org.
>
> 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.9.8 can be installed in parallel with Guile 2.2.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.9.8.tar.lz   (10MB)
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.xz   (12MB)
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.gz   (21MB)
>
> Here are the GPG detached signatures[*]:
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.lz.sig
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.xz.sig
>   http://alpha.gnu.org/gnu/guile/guile-2.9.8.tar.gz.sig
>
> Use a mirror for higher download bandwidth:
>   http://www.gnu.org/order/ftp.html
>
> Here are the SHA256 checksums:
>
>   3ce11e9dca0f475fa944729d99f33c379fe8962e729bd21a99470249624c71d7
> guile-2.9.8.tar.lz
>   4a8cf663b8bfd435168935c74a8ec434328ffad16230322c64f0ac567dda2c26
> guile-2.9.8.tar.xz
>   31c3d458ff9342db130e27c8d82d2a33912da92845e5ee431b6a125971a823d2
> guile-2.9.8.tar.gz
>
> [*] 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.9.8.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
> 4FD4D288D445934E0A14F9A5A8803732E4436885
>
> and rerun the 'gpg --verify' command.
>
> This release was bootstrapped with the following tools:
>   Autoconf 2.69
>   Automake 1.16.1
>   Libtool 2.4.6
>   Gnulib v0.1-1157-gb03f418
>   Makeinfo 6.5
>
> An extract from NEWS follows.
>
>
> Changes in alpha 2.9.8 (since alpha 2.9.7):
>
> * Bug fixes
>
> ** Fix bug in which abort_to_prompt used an invalid stack pointer
>
> This bug manifested itself as a bootstrap compile error on some systems,
> notably Ubuntu 18.04 on x86-64, and was due to failing to recalculate a
> local variable after a possible stack relocation.
>
> ** SRFI-35 does a #:re-export-and-replace on `'
> ** SRFI-35 avoids compiler warnings for multiply-defined condition types
>
>
> Changes in alpha 2.9.x (since the stable 2.2 series):
>
> 

Re: GNU Guile 2.9.8 Released [beta]

2020-01-02 Thread Matt Wette




On 1/2/20 5:36 AM, Andy Wingo wrote:

We are pleased to announce GNU Guile release 2.9.8.  This is the eighth
and possibly final pre-release of what will eventually become the 3.0
release series.



Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a bug in
libguile that caused writes to unmapped memory in some circumstances.
This problem manifested itself as a failure of Guile to compile itself
on some systems, notably Ubuntu 18.04 on x86-64.  It also fixes a couple
warnings related to SRFI-35.



make and make check verified to work on Ubuntu 18.08 / x86_64