PARSE's Advancement Rule - Bad?

Interesting.

Well that has has been recently addressed, so in Ren-C you can break a forever [] (now CYCLE). You'd be able to break an infinite looping PARSE, too.

[] is a match on any input. And I'd like some [] to be an infinite loop.

I mention in my linked post that sometimes decaying to infinite loops is a feature...and here it certainly can be. Consider some [:(...)]. It may be that on one iteration it evaluates to null and hence vaporizes. But on the next pass it might evaluate to a rule which splices.

(Curiously, there's a difference between some [:(...)] and some :(...), because the first evaluates the group on each pass while the second evaluates just once. To understand why, see "When should parse rules notice changes?")

...and with that...I'm convinced...

The progress rule is bad mojo. Let's toss it.

1 Like