Hi Wolfgang,
On Wed 09 Mar 2011 11:53, Wolfgang J Moeller <[email protected]> writes:
> I observe a segfault when done loading a particular compiled file.
> No such error in interpreted mode.
I'm working on this one still, and it's quite perplexing.
The example can be quite short:
(define-syntax reset
(syntax-rules ()
((_ . body)
(call-with-prompt 'Reset
(lambda () . body)
(lambda (cont f) (f cont))))))
(define-syntax shift
(syntax-rules ()
((_ var . body)
(abort-to-prompt 'Reset
(lambda (cont)
((lambda (var) (reset . body))
(lambda vals (reset (apply cont vals)))))))))
(define (shift* fc)
(shift c (fc c)))
(reset (display ((shift* shift*) 'foo)))
It seems to be that somehow this corrupts the wind list, unwinding one
dynamic frame too far, and thus causing errors later.
In any case, thanks again for this little chestnut :)
Andy
--
http://wingolog.org/