Subject: Re: bug#20938: make-dynamic-state, with-dynamic-state & exceptions

From: Josep Portella Florit <[email-masked]>
Date: Fri, 3 Mar 2017 23:15:42 +0100

On 03/01/2017 06:30 PM, Andy Wingo wrote:
> On Wed 01 Mar 2017 16:11, Josep Portella Florit <[email-masked]> writes:
>> (Today I've tested it with 2.1.7.22-fcebf and it still crashed.)
> 
> Ack, I didn't actually test it!  I thought a related fix in 2.1.7 would
> have caught it.  I will have a look.

OK, can you reopen the bug?

>> BTW, did you change your mind on deprecating dynamic states?
>> <http://lists.gnu.org/archive/html/guile-devel/2016-06/msg00104.html>
> 
> Yes, with a caveat.  Having captured dynamic states also be mutable
> places was untenable, as you could have multiple threads mutating the
> same place at one time.  However dynamic states work well as a way to
> transport a parameterization from one part of the code to another.  I
> rely on them in Fibers for this purpose.  What do you think? :)

Your use of `current-dynamic-state` in Fibers confused me, until I
realized it works like `make-dynamic-state` in Guile 2.1.  Good, now
dynamic states are more analogous to Racket's parameterizations :-)