Workaround - RE: update 1: RE: Failing example: RE: problem with continuations and corrupted data

"Dukes, Todd" <[email protected]>
Newsgroups gmane.lisp.scheme.bigloo
Message-ID <[email protected]>
I have found a solution to my problem by re-writing my code to use the bigloo fthread library instead of using continuations. As long as multiple runs of the same program produce the same results, this works fine for me.

I have been unable to create a stand-alone example to demonstrate the symptoms with call/cc and plan to abandon this approach. I still think there is an issue with bigloo's continuations, but I don't know how to identify or demonstrate it.

Thanks,
Todd D.

________________________________
From: [email protected] [[email protected]] on behalf of Dukes, Todd
Sent: Tuesday, August 05, 2014 6:59 PM
To: [email protected]
Subject: [bigloo] update 1: RE: Failing example: RE: problem with continuations and corrupted data

Using call/cc instead of call-cc causes this example to pass. Unfortunately for me, it does not cause my real program to pass.

Todd D.


________________________________
From: [email protected] [[email protected]] on behalf of Dukes, Todd
Sent: Monday, August 04, 2014 7:37 PM
To: [email protected]
Subject: [bigloo] Failing example: RE: problem with continuations and corrupted data


Compile with command line at top of  corrupted-let-problem-example.scm
Run with no arguments. My output looks like this:

bash-4.2$ ./corrupted-let-problem-example
(user-main 1)
p0 5
(p0:(s-ADD ((addr-mode disp) (dst (reg AL)) (src (disp 8192)))))
p1  3.(ebx ((23 34)))
(p1:(s-ADD ((addr-mode disp) (dst (reg AL)) (src (disp 13568)))))
(s-go (thread-exit-length 2))
p0 7
p0 8
(p0:(s-ADD ((addr-mode reg-imm) (dst (reg BX)) (src (imm 0)))))
p1  4.(ebx 165)
(s-go (thread-exit-length 1))
p0 9
(s-go (thread-exit-length 0))
bash-4.2$

The line 'p1 4.(ebx 165)' is incorrect. The value of ebx has taken on the value passed to the check-mem function on line 20 of correupted-let-interpreted.scm

This can be verified by changing the value and running again. When I did this, I saw the output change to match.

Let me know if you cannot reproduce or if I am misunderstanding how continuations should work.

Thanks,
Todd D.



________________________________
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.