TAG!s as PARSE keywords vs. Literal Matches

Previously I brought up the idea of "TAG! combinators".

My argument is that in the scheme of things, we'd rather have words like end freed up for variables (begin and end are frequently needed).

parse data [some "a", begin: <here>, some "b", end: <here>, to <end>]

When we're talking about replacing "skip", I feel like <?> works better than a lot of things:

>> uparse [1 2] [x: <?>, y: <?>]
>> x 
== 1

Maybe RegEx-style dot is more pleasing?

>> uparse [1 2] [x: <.>, y: <.>]
>> x 
== 1

There would still be the option of matching TAG!s with quoted tags, as with other quoted types.

uparse [<a> <a>] [some '<a>]

You already have to do this with WORD!s, INTEGER!s, etc. This would open up a new space for parsing keywords.

I think strings being the exception is good, it provides coverage for pretty much other types...when all you are doing with it is stringification anyway:

uparse "<a></a>" [{<a>} {</a>}]
1 Like

TAG!s are a good visual cue, but I confess I’m lazy and don’t like that I need to click SHiFT + for the angle brackets.