Re: The 2.0.9 VM cores in enqueue (threads.c:309) -- partial fix, patch attached

2013-06-17 Thread Andrew Gaylard
On 04/29/13 12:10, Mark H Weaver wrote: Hi Andrew, On 28 April 2013 03:57, Andrew Gaylard wrote: Those 0x304 values look dodgy to me, and explain why the SCM_SETCDR causes an invalid memory access. (gdb) p *SCM2PTR(q) $26 = {word_0 = 0x304, word_1 = 0x1039c4c20} What's happening here is that

order of evaluation

2013-06-17 Thread Andy Wingo
I really enjoy the unspecified order of evaluation that Scheme has, but perhaps that's an implementor's perspective. So I thought that when we went to convert to an intermediate form that names all intermediary values like ANF or CPS, that we'd be able to preserve this; but it turns out that it's

Re: order of evaluation

2013-06-17 Thread Noah Lavine
Hello, I always thought that at some point we'd want a form that explicitly didn't fix the order of evaluation. Maybe the for it is now. I imagine something like this: (foo (a (b)) (c (d))) => (unspecified-order ((A (let ((B (b))) (a B)) (C (let ((D (d))) (c D (

Re: The 2.0.9 VM cores in enqueue (threads.c:309) -- partial fix, patch attached

2013-06-17 Thread Mark H Weaver
Hi Andrew, Andrew Gaylard writes: > Inspection of the remqueue function shows > that the logic is not correct when removing the last entry in the queue. Indeed, thanks very much for debugging this! I pushed a fix to stable-2.0. > However it now hangs somewhere else (which may be an unrelated pr

Re: order of evaluation

2013-06-17 Thread Andy Wingo
Hi :) On Mon 17 Jun 2013 15:49, Noah Lavine writes: > Unspecified-order looks exactly like `let', except that it can evaluate > its clauses in any order before evaluating its body. So it's exactly like `let', then? ;) > I think we could make CSE work with this, don't you think? Oh sure. It w

Re: order of evaluation

2013-06-17 Thread Noah Lavine
Hello, On Mon, Jun 17, 2013 at 1:14 PM, Andy Wingo wrote: > > So it's exactly like `let', then? ;) > Oh, yes, you're right. :-) > > > I think we could make CSE work with this, don't you think? > > Oh sure. It works with let already. It's just not as effective. > > To translate this into CP

Re: order of evaluation

2013-06-17 Thread William ML Leslie
On 18 June 2013 06:14, Andy Wingo wrote: > If I understand correctly, I think this is going in the wrong > abstractive direction -- CPS is nice because it's a limpid medium for > program transformations that also corresponds neatly to runtime. With > this sort of thing we'd be moving farther away