I was testing a program of mine under Guile 2.2, and was surprised to
find things slower than in Guile 2.0, surprising given all the various
optimizations I've heard about! However, I think I've found good clues
as to what's going on.
The tl;dr: there are a lot of calls to bytevector-u64-ref bein
Here's a fix to this bug. Tests pass, and performance appears to be
back here.
I've assigned copyright to the FSF for Guile so it should be fine to
commit!
>From 79e3b5286a2699f9b302bd3abf8a6b884b13a4f4 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber
Date: Fri, 13 Nov
Heya all,
So I've been building something with GOOPS, and I decided to try it out
with Guile 2.2. Unfortunately, I hit a pretty nasty bug. You can try
it yourself... the code is pretty short:
(use-modules (oop goops)
(srfi srfi-9))
(define-class ())
(define-method (time-to
It looks like my example was incomplete. It turns out loading and
passing in an srfi-9 record is critical to instantiating the bug.
Why? I'm not sure...
(use-modules (oop goops)
(srfi srfi-9))
(define-class ())
(define-record-type
(make-some-record foo)
some-recor
It looks like my example was incomplete. It turns out loading and
passing in an srfi-9 record is critical to instantiating the bug.
Why? I'm not sure...
(use-modules (oop goops)
(srfi srfi-9))
(define-class ())
(define-record-type
(make-some-record foo)
some-recor
In the actor model subsystem I have in 8sync things are a bit tricky...
I have a prompt layered on a prompt, and beyond the first prompt is a
catch-all that prevents the event loop from crashing things (it just
prints the error and continues).
However, there's a circumstance where if I abort to a
So with some help from Andy Wingo (thanks Andy!) I figured out what to
do. What happened is that when code in the resumed delimited
continuation threw an error, it attempted to find the original catch's
prompt, which had disappeared. Remember that I had a prompt in a
prompt, so the outer prompt's
Guile lacks https support by default, which is a really glaring omission
in any modern language! I've submitted some code adapted from Guix
previously as a step towards adding https support:
https://lists.gnu.org/archive/html/guile-devel/2015-09/msg00031.html
While it can be pulled off through
The example previously did not run, because it was missing the "closed"
parameter. Fixed.
>From abed180e8ea3ada5c4e156165f0b5e648d517ba2 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber
Date: Thu, 11 Aug 2016 15:10:19 -0500
Subject: [PATCH] Fix example in make-custom-bina
Andy Wingo writes:
> On Tue 26 Jul 2016 17:55, Christopher Allan Webber
> writes:
>
>> I've been told on IRC that the "right solution" is to add r6rs style
>> binary ports:
>>
>> http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-9.html
>
amic-wind
and cleans up the socket file, if it exists. (But it doesn't break if
it doesn't!)
From 12a1c24890448ec9a2d33cabff7f70f6332dbb4f Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber
Date: Sat, 29 Oct 2016 11:28:05 -0500
Subject: [PATCH] Clean up socket file set up by --listen
Build Guile master, then do:
./meta/guile --listen=/tmp/guile-socket
Connect from emacs like so:
M-x guile-connect-local
You'll connect, but if you look at the shell you spawned Guile in,
you'll see:
ERROR: In procedure select: Interrupted system call
You'll also find that where you wou
Well, I was wrong. For some reason this stopped working for me over the
last couple of days, but it doesn't seem to be Guile master that's at
fault. I'm having the same trouble with Guile 2.0.
Not sure how this started happening or why it's happening though...
Christopher Allan Webber writes:
> Well, I was wrong. For some reason this stopped working for me over the
> last couple of days, but it doesn't seem to be Guile master that's at
> fault. I'm having the same trouble with Guile 2.0.
>
> Not sure how this started h
Christopher Allan Webber writes:
> Here's two patches. The first fixes some of the section names in the
> r6rs-ports.test file, and can be applied to master immediately.
I don't think it was captured, but these patches were applied to master.
So the next thing is getting the gn
ad-bv-len)))
>> + (define (open-socket)
>> +(let loop ((addresses addresses))
>
> Or just “(define sock …”.
Hm, is that a good idea? Does this need to happen before or within the
with-https-proxy?
> Otherwise works for me!
>
> Could you document HTTPS support in the
Some less good news: I found out that the https stuff is not working
right for all sites. I tested though... the code works *before* I
wrapped it in custom-binary-input/output-port.
After being wrapped though, strange things happen. For some sites (eg
"https://webmention.net/";) things seem fine
Ludovic Courtès writes:
> Christopher Allan Webber skribis:
>
>> First of all, the response body starts in the wrong place... it should
>> start with "". Then, somewhere in the middle it switches
>> to garbage output. I'm not sure why.
>
> [...]
Ludovic Courtès writes:
> I think ‘ensure-gnutls’ would be exactly as in this patch, and the
> autoload hack would be exactly as shown above.
Got it! Done...
> @xref generates a “See” for the beginning of a sentence, so it should
> be:
>
> … support. @xref{…}, for more information.
... and
In Guile 2.2:
(define-class ()
(bar #:allocation #:class
#:init-value 'baz))
(slot-definition-allocation (class-slot-definition 'bar))
=> #:instance
In Guile 2.0 this properly returns #:class.
Also, curiously, Guile 2.2 breaks if you present the keywords in the
wrong order:
(defin
Guile 2.0.13:
scheme@(guile-user)> (define (foo n)
(if (= n 0)
'done
(foo (1- n
scheme@(guile-user)> ,tracepoint foo
Trap 0: Tracepoint at #.
scheme@(guile-user)> (foo 5)
Trap 0: (foo 5)
Trap 0: | (
(originally accidentally sent to guile-devel instead of here, sorry for
xpost!)
If you use the latest Guile, you'll find that "guile --listen" has
broken. If you try:
./meta/guile --listen=/tmp/guile-socket
then you'll find that you have a very short window in which you can do:
M-x geiser-co
one or applying the previous patch version
which worked but made the command line processing more complex? Or
something else?
From 79ab483a872638abe311c521c3467c060566b39c Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber
Date: Wed, 8 Mar 2017 12:04:55 -0600
Subject: [PATCH] Clean up socket fil
I think that this was related to an earlier bug where the traps weren't
being tripped at all, which has been fixed (trace also wasn't working).
If I'm wrong, please reopen!
bd0e814801d17df04ef23480647792480c08c26 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber
Date: Tue, 25 Apr 2017 22:28:09 -0500
Subject: [PATCH] Fix frame-matcher for when nothing is found for
program-last-ip.
* module/system/vm/traps.scm (frame-matcher): Check for end before
we compare
@philips.com, 2005-04-29
+;;
+;; Adjusted for Guile module system by
+;; Christopher Allan Webber , 2017-06-29
+
+(define-module (srfi srfi-71)
+ #:export (uncons unlist unvector values->list
+values->vector)
+ #:replace ((srfi-let . let)
+ (srfi-let* . let*)
+
Ludovic Courtès writes:
> Christopher Allan Webber skribis:
>
>> Ludovic Courtès writes:
>>
>>> Also, it no longer displays the pathological behavior shown in
>>> <https://bugs.gnu.org/28590>.
>>>
>>> Of course, even better if people
Amirouche Boubekki writes:
> GNU Guile 2.2.2
> Copyright (C) 1995-2017 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for deta
28 matches
Mail list logo