On Tue 14 Jan 2020 22:48, Stefan Israelsson Tampe
writes:
> Strange that I did not dee this error before in the 2.x series
> ever. Isn't it so that for procedures define in a (let () ...) the
> case you are mentioning happened before but I was on the impression
> that no inlining was done for de
I have a fix for this by pushing the method idiom to another module. So it
is not a burning issue.
Strange that I did not dee this error before in the 2.x series ever. Isn't
it so that
for procedures define in a (let () ...) the case you are
mentioning happened before but
I was on the impression t
On Tue 14 Jan 2020 21:13, Stefan Israelsson Tampe
writes:
> Okey, here is another case that fails with the patch that prevents identity
> misses for toplevels e.g we need similar fixes for anonymous functions.
>
> (define-module (b)
> #:export (q))
>
> (define h (make-hash-table))
> (define (
On Tue 14 Jan 2020 17:03, Mikael Djurfeldt writes:
> Hmm... it seems like both Stefan and you have interpreted my post
> exactly the opposite way compared to how it was meant. :)
Hah! My apologies :)
> What I wanted to say is that I probably prefer you to *reverse* the
> recent patch because I
Okey, here is another case that fails with the patch that prevents identity
misses for toplevels e.g we need similar fixes for anonymous functions.
(define-module (b)
#:export (q))
(define h (make-hash-table))
(define (method f)
(hash-set! h f 1)
f)
(define q (method (lambda x x)))
(pk (ha
I'll apply your patch and see if it works. After reading it more carefully
I think I understand your decrement count. Nice code!
On Tue, Jan 14, 2020 at 5:36 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> 1. I don't understand why you decrement the count in operator position
> 2.
t;
> On Tue, Jan 14, 2020 at 5:37 PM Stefan Israelsson Tampe <
> stefan.ita...@gmail.com> wrote:
>
>>
>>
>> -- Forwarded message -----
>> From: Stefan Israelsson Tampe
>> Date: Tue, Jan 14, 2020 at 5:23 PM
>> Subject: Re: GNU Guile 2.9.9 Re
> Best regards,
> Mikael
>
> On Tue, Jan 14, 2020 at 5:37 PM Stefan Israelsson Tampe
> mailto:stefan.ita...@gmail.com>> wrote:
>
>
>
> -- Forwarded message -
> From: *Stefan Israelsson Tampe* <mailto:stefan.ita...@gmail.com>
Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
>
>
> -- Forwarded message -
> From: Stefan Israelsson Tampe
> Date: Tue, Jan 14, 2020 at 5:23 PM
> Subject: Re: GNU Guile 2.9.9 Released [beta]
> To: Mikael Djurfeldt
>
>
> This is how
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Tue, Jan 14, 2020 at 5:23 PM
Subject: Re: GNU Guile 2.9.9 Released [beta]
To: Mikael Djurfeldt
This is how it always have been in guile, without this patch you cannot use
procedure-property, use a function as a key to
1. I don't understand why you decrement the count in operator position
2. I don't see that you increase the count when a procedure is returned
from a lambda
Example
(define (f a) a)
(define (g)
(hash-set! H f 1) ; (*)
(f 1)) ;(**)
(define (h)
(pk (hash-ref H f))) ; (*)
(g)
(h)
=> '(#f
On Tue 14 Jan 2020 15:47, Stefan Israelsson Tampe
writes:
> Yes, your patch is indicating when you should use the same identity
> e.g. all uses of procedures in a higher order position such as an
> argument or a return value. But I looked at your patch, which looks
> good but I saw that for oper
Hmm... it seems like both Stefan and you have interpreted my post exactly
the opposite way compared to how it was meant. :)
I completely agree that procedure equality is not strongly connected to the
first citizen-ness.
What I wanted to say is that I probably prefer you to *reverse* the recent
pa
Yes, your patch is indicating when you should use the same identity e.g.
all uses of procedures in a higher order position such as an argument or a
return
value. But I looked at your patch, which looks good but I saw that for
operator position you decrease the count. Why? Also you are free to use o
> We are pleased to announce GNU Guile release 2.9.9.
When attempting to build on a Debian Jessie 32bit arm system, gcc
(Debian 4.9.2-10+deb8u2) 4.9.2
I'm working on updating this system to Debian Stable, but it might
require wiping it and doing a fresh install.
On Tue 14 Jan 2020 13:18, Mikael Djurfeldt writes:
> I probably don't have a clue about what you are talking about (or at
> least hope so), but this---the "eq change"---sounds scary to me.
>
> One of the *strengths* of Scheme is that procedures are first class
> citizens. As wonderfully show-case
I agree about the scary part as it e.g. would make it impossible to use
procedures in hashmaps (where my trouble stems from) in any sane way, I
know how to fix
my code but there will be a lot of anger on the mailinglist and irc to
teach how to avoid the problems.
Fortunately probably the next rele
Dear Andy,
I probably don't have a clue about what you are talking about (or at least
hope so), but this---the "eq change"---sounds scary to me.
One of the *strengths* of Scheme is that procedures are first class
citizens. As wonderfully show-cased in e.g. SICP this can be used to obtain
expressi
-- Forwarded message -
From: Stefan Israelsson Tampe
Date: Tue, Jan 14, 2020 at 12:43 PM
Subject: Re: GNU Guile 2.9.9 Released [beta]
To: Andy Wingo
Thanks!
Phew!
I think that for an f, a direct function application need not to be counted
as a position. Only when you use f in
On Mon 13 Jan 2020 22:32, Stefan Israelsson Tampe
writes:
> In current guile (eq? f f) = #f for a procedure f. Try:
Note that procedure equality is explicitly unspecified by R6RS. Guile's
declarative modules optimization took advantage of this to eta-expand
references to declaratively-bound to
Note that the problem I have is that procedure-property and hash-table code
with procedure key's fail on me due to the fact that the identity of
functions varies in a non clear way.
On Mon, Jan 13, 2020 at 10:32 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Nice, but I think we
Okay, with GUILE_JIT_THRESHOLD set to -1 in the environment, I can build
Guile under Cygwin. There are two test failures which probably reflect
differences between newlib and glibc:
ERROR: time.test: strptime: GNU %s format: strftime fr_FR.utf8 - arguments:
((system-error "strptime" "~A" ("Invali
I mean that this bug is for 2.9.9
On Mon, Jan 13, 2020 at 10:32 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Nice, but I think we are not there yet.
>
> In current guile (eq? f f) = #f for a procedure f. Try:
>
> (define-module (b)
> #:export (f))
>
> (define (g x) x)
> (defin
Nice, but I think we are not there yet.
In current guile (eq? f f) = #f for a procedure f. Try:
(define-module (b)
#:export (f))
(define (g x) x)
(define (u x) g)
(define (f x)
(pk eq?(eq? g (u x)))
(pk eqv? (eqv? g (u x)))
(pk equal? (equal? g (u x)))
(pk (object-address g) (ob
Guile 2.9.9, like .8 and .7, does not build on Cygwin (64 bit). Configure
runs without error, but make crashes with this (truncated to just the tail):
Making all in bootstrap
make[2]: Entering directory
'/cygdrive/c/Users/rr828893/Downloads/guile-2.9.9/bootstrap'
BOOTSTRAP GUILEC ice-9/eval.go
On Mon 13 Jan 2020 09:39, Andy Wingo writes:
> Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a number
> of bugs.
Obviously this was meant to be 2.9.9 versus 2.9.8 :)
> Changes since alpha 2.9.8 (since 2.9.7):
Here too :)
We are pleased to announce GNU Guile release 2.9.9. This is the ninfth
and probably 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 Gu
27 matches
Mail list logo