bug-guix
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]