bug#21887: 'monitor' form broken

2015-11-12 Thread Taylan Ulrich Bayırlı/Kammer
It seems that the 'monitor' form is currently a no-op. The form (par-for-each (lambda (x) (monitor (foo))) xs) should be functionally equivalent to (let ((mutex (make-mutex))) (par-for-each (lambda (x)

bug#21894: escape continuation doc wrong about reinvokability

2015-11-12 Thread Zefram
The manual says # Escape continuations are delimited continuations whose # only use is to make a non-local exit--i.e., to escape from the current # continuation. Such continuations are invoked only once, and for this # reason they are sometimes called "one-shot continuations". O

bug#21897: escape continuation passes barrier

2015-11-12 Thread Zefram
scheme@(guile-user)> (use-modules (ice-9 control)) scheme@(guile-user)> (call/ec (lambda (c) (with-continuation-barrier (lambda () (c "through continuation"))) "c-w-b returned")) $1 = "through continuation" The continuation barrier works fine on call/cc continuations and on throw/catch, but doesn

bug#21899: let/ec continuations not distinct under compiler

2015-11-12 Thread Zefram
With guile 2.0.11: scheme@(guile-user)> (use-modules (ice-9 control)) scheme@(guile-user)> (list 'a (let/ec ae (list 'b (let/ec be (be 2) $1 = (a (b 2)) scheme@(guile-user)> (list 'a (let/ec ae (list 'b (let/ec be (ae 2) $2 = (a (b 2)) scheme@(guile-user)> (list 'a (let/ec ae (list 'b (ae