[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27476: libguile/memoize.c is not thread safe, so syntax parameter ex
From: |
Andy Wingo |
Subject: |
bug#27476: libguile/memoize.c is not thread safe, so syntax parameter expansion is not thread-safe |
Date: |
Wed, 09 May 2018 12:18:01 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
On Wed 09 May 2018 11:23, address@hidden (Ludovic Courtès) writes:
>> Is the memoization you are referring to the "set!" in the "lazy" form in
>> ice-9/eval.scm ? Or something else? FWIW I would not think the "set!"
>> could be the issue, at least on x86, but who knows.
>
> Actually I’m not sure exactly. ‘memoize-expression’ itself is
> side-effect-free, right?
As far as I know (and I had a look this morning), yes. It takes a
Tree-IL input and returns a memoized output. The internal mutation that
exists in the evaluator is just the lazy "compilation" (see the
invocations of the "lazy" form).
Of course the function being evaluated could mutate shared state as
well!
Andy