Caller Continuation register (was Re: Fun with nondeterministic searches)

2004-04-06 Thread Dan Sugalski
At 1:24 PM -0600 4/6/04, Luke Palmer wrote: Dan Sugalski writes: I'm OK with moving the return continuation out of P1 and into somewhere else--I can even see throwing it on the control stack. (Or a special register, I can live with that as well) I'd like to express my vote of confidence for an R

Re: Fun with nondeterministic searches

2004-04-06 Thread Luke Palmer
Dan Sugalski writes: > I'm OK with moving the return continuation out of P1 and into > somewhere else--I can even see throwing it on the control stack. (Or > a special register, I can live with that as well) I'd like to express my vote of confidence for an RC register, which is put in the contex

Re: Fun with nondeterministic searches

2004-04-06 Thread Dan Sugalski
At 9:12 AM +0100 4/2/04, Piers Cawley wrote: Leopold Toetsch <[EMAIL PROTECTED]> writes: Piers Cawley <[EMAIL PROTECTED]> wrote: When you make a full continuation with clone, can't you chase up its continuation chain and mark its reachable continuations (and only those continuations) as non r

Re: Fun with nondeterministic searches

2004-04-02 Thread Leopold Toetsch
Piers Cawley <[EMAIL PROTECTED]> wrote: > Well, I ported the following Scheme code to PIR. (The PIR is appended > to this message... I've cleaned up the whole freelist handling code now and added your code as a test, which exposed one more bug: it didn't run with --gc-debug. That's fixed now too-

Re: Fun with nondeterministic searches

2004-04-02 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > Piers Cawley <[EMAIL PROTECTED]> wrote: > >> When you make a full continuation with clone, can't you chase up its >> continuation chain and mark its reachable continuations (and only those >> continuations) as non recyclable? (This is one of the reason

Re: Fun with nondeterministic searches

2004-04-01 Thread Leopold Toetsch
Larry Wall <[EMAIL PROTECTED]> wrote: > On Thu, Apr 01, 2004 at 08:00:24PM +0200, Leopold Toetsch wrote: >: This OTOH means, that a Continuation created with invokecc shall be >: never silently reused. There is currently one protection in the code >: against that: If ever one Continuation is create

Re: Fun with nondeterministic searches

2004-04-01 Thread Leopold Toetsch
Piers Cawley <[EMAIL PROTECTED]> wrote: > When you make a full continuation with clone, can't you chase up its > continuation chain and mark its reachable continuations (and only those > continuations) as non recyclable? (This is one of the reasons I think > that a Continuation should have an expl

PIR Sub Invocation (was Re: Fun with nondeterministic searches)

2004-04-01 Thread chromatic
On Thu, 2004-04-01 at 07:08, Leopold Toetsch wrote: > > $P0 = find_lex("fail") > > $P0() # Why can't we do this? Does $P0.() work any better? > > It used to give tons of reduce conflicts and wrong code ... wait ... try > again ... now it works ... fixed. It works for NCI subs too. *Very

Re: Fun with nondeterministic searches

2004-04-01 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > Piers Cawley wrote: > >> Leopold Toetsch <[EMAIL PROTECTED]> writes: >> >>>At (1) the continuation is marked with C. In C >>>this flag is propagated to the stacks in the continuation's context. At >>>(2) or any other place, where this stacks are poppe

Re: Fun with nondeterministic searches

2004-04-01 Thread chromatic
On Thu, 2004-04-01 at 08:07, Leopold Toetsch wrote: > --- parrot/src/objects.c Thu Apr 1 17:11:09 2004 > +++ parrot-leo/src/objects.c Thu Apr 1 17:45:25 2004 > @@ -783,7 +783,7 @@ > /* >* s. also src/stack_common.c:200 >*/ > -#define DISBALE_RETC_RECYCLING 1 > +#define DISBALE_RE

Re: Fun with nondeterministic searches

2004-04-01 Thread Leopold Toetsch
Piers Cawley wrote: Leopold Toetsch <[EMAIL PROTECTED]> writes: At (1) the continuation is marked with C. In C this flag is propagated to the stacks in the continuation's context. At (2) or any other place, where this stacks are popped off, the stack chunks are not put onto the stack chunk freeli

Re: Fun with nondeterministic searches

2004-04-01 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > Piers Cawley <[EMAIL PROTECTED]> wrote: >> Leopold Toetsch <[EMAIL PROTECTED]> writes: > >>> Piers Cawley <[EMAIL PROTECTED]> wrote: >>> Remember how Leo wanted an example of how continuations were used? >>> >>> Great example - I don't understand

Re: Fun with nondeterministic searches

2004-04-01 Thread Larry Wall
On Thu, Apr 01, 2004 at 08:00:24PM +0200, Leopold Toetsch wrote: : This OTOH means, that a Continuation created with invokecc shall be : never silently reused. There is currently one protection in the code : against that: If ever one Continuation is created explicitely, : RetContinuation recycli

Re: Fun with nondeterministic searches

2004-04-01 Thread Leopold Toetsch
Piers Cawley <[EMAIL PROTECTED]> wrote: > Leopold Toetsch <[EMAIL PROTECTED]> writes: >> Piers Cawley <[EMAIL PROTECTED]> wrote: >> >>> Remember how Leo wanted an example of how continuations were used? >> >> Great example - I don't understand how it wotks though :) - but I >> understand, why the

Re: Fun with nondeterministic searches

2004-04-01 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > Piers Cawley wrote: > >> Leopold Toetsch <[EMAIL PROTECTED]> writes: >>> >>>Here is a proof of concept patchoid: >>> >> Fabulous >> >>>1) change to your example code: >>> $P1 = clone P1 >>> store_lex 1, "cc", $P1 >>>(the clone strips off all

Re: Fun with nondeterministic searches

2004-04-01 Thread Leopold Toetsch
Piers Cawley wrote: Leopold Toetsch <[EMAIL PROTECTED]> writes: Here is a proof of concept patchoid: Fabulous 1) change to your example code: $P1 = clone P1 store_lex 1, "cc", $P1 (the clone strips off all recycle flags) Oh nice, much neater than what I was thinking of involving makin

Re: Fun with nondeterministic searches

2004-04-01 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > Piers Cawley <[EMAIL PROTECTED]> wrote: > >> Remember how Leo wanted an example of how continuations were used? > > Great example - I don't understand how it wotks though :) - but I > understand, why the PIR code might fail: Okay, I'll try and explain

Re: Fun with nondeterministic searches

2004-03-31 Thread Piers Cawley
[EMAIL PROTECTED] (Leopold Toetsch) writes: > Piers Cawley <[EMAIL PROTECTED]> wrote: > >> Remember how Leo wanted an example of how continuations were used? > > Great example - I don't understand how it wotks though :) - but I > understand, why the PIR code might fail: > >> .sub _choose > > [ ...

Re: Fun with nondeterministic searches

2004-03-31 Thread Leopold Toetsch
Piers Cawley <[EMAIL PROTECTED]> wrote: > Remember how Leo wanted an example of how continuations were used? Great example - I don't understand how it wotks though :) - but I understand, why the PIR code might fail: > .sub _choose [ ... ] > store_lex 1, "cc", P1 You aren't allowed to do

Fun with nondeterministic searches

2004-03-31 Thread Piers Cawley
Remember how Leo wanted an example of how continuations were used? Well, I ported the following Scheme code to PIR. (The PIR is appended to this message... ;;; Indicate that the computation has failed, and that the program ;;; should try another path. We rebind this variable as needed. (de