Re: order of evaluation, letrec-values, and define-values.

2013-07-03 Thread Mark H Weaver
Hi Andy, Andy Wingo writes: > Not sure what to do. The part of me that wants to do aggressive CSE > wants to transform to a form that fixes order of evaluation, but the > part of me that wants to be able to shuffle values using the Dybvig > algorithm wants to do the direct form

Re: order of evaluation

2013-06-23 Thread Ludovic Courtès
Andy Wingo skribis: > Not sure what to do. The part of me that wants to do aggressive CSE > wants to transform to a form that fixes order of evaluation, but the > part of me that wants to be able to shuffle values using the Dybvig > algorithm wants to do the direct form. Dunno!

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

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 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, 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 (

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 turn