Page 2 of 2

Posted: Thu Aug 04, 2005 3:49 pm
by lagroue
MtnViewJohn wrote:
And there's an awsesome feature : we could even "rebounce"... Or did I miss something ?
This is exactly what I meant.
Houlala, this is not CF at all ! at all at all at all ! I wonder what Mark will say about that !

Posted: Thu Aug 04, 2005 4:22 pm
by MtnViewJohn
I know! I have veered off into L-systems or something. Mark and Chris are probably shaking their heads. We can argue that recursion limiting is a convenient shortcut that eliminates tedium and improves clarity. But rebouncing at the recursion limit is all about enabling new, non-CF, stuff. But it would be so cool.

Posted: Thu Aug 04, 2005 10:23 pm
by lagroue
MtnViewJohn wrote:I know! I have veered off into L-systems or something. Mark and Chris are probably shaking their heads. We can argue that recursion limiting is a convenient shortcut that eliminates tedium and improves clarity. But rebouncing at the recursion limit is all about enabling new, non-CF, stuff. But it would be so cool.
Now I see why your two friends don't say anything - But I'm sure they hate me less as they hate you.

Well - we have managed to skew things so that they look clear and clean under the CF light, until... rebouncing. The programming language argument can still be used, but you're pushing the limits, ho you nasty John !
MtnViewJohn wrote:L-systems or something.
Nasty lazy John !
Well, I guess I can live with that.

I wish you courage for the implementation.


Btw, a last comment on syntax, I was about to forget.

Code: Select all

A { n 10 n < 1 }
would mean "trigger A if parent rule's n is < 1, and set n of A to 10". This is odd having the same character "n" used for two different n : the one for A, the one for the parent rule.

Maybe

Code: Select all

A { n 10 parent.n < 1 }
would be clearer, although ugly and verbose.

Some options I prefer :

Code: Select all

n < 1 ? A { n 10 }
would be C like

Code: Select all

A { n 10 } if n < 1 
would be perl-like

Code: Select all

A { n 10 } unless n > 0 
would be perl-like

Code: Select all

n < 1 ? A { n 10 } : B { }
is C-like again, and nasty-lazy-speaking, going towards a turing-complete machine.