I have been away for a while and I am missing parse. I was wondering if you know of any similar parsers in other languages like Python or R?
When most languages phrase this kind of functionality they do it under the name "parser combinators".
"Parsec" is one of the early ones in Haskell, and someone made a Python variant
Usage example:
If I'm not mistaken, Perl and Java have something not far off from Rebol's grammar-based parsing. Not likely as commonly used as regular expressions, however. I'd wager that Javascript has a library for parsing grammars too.
Should probably mention clojure spec has combinators for validation rules and conform
as a not-so-well documented protocol for making productions based on those rules. There's some very simple productions for doing things like parsing argument lists and other sequential messages. You can get pretty fancy with it if you know what you're doing, but it probably could use some more inspiration from PARSE
.
I like Clojure on paper (and am incredibly tempted at times to add persistent vector, though I keep trying to think of it as "if you lived in a world where FP was what has always been, mutable state without having to name each alteration would be a Eureka moment").
But whenever I read Clojure, I always get to "that's some illegible stuff right there".
I know we develop our lenses that see past the illegibility and forgive it (I have that blindness with C++, I muck around with it and get to that point of "I can understand it so it must be coherent"... with that awareness I engineered Ren-C's debug build cast operators....whose only redeeming quality for most people is that you can build without that).
Anyway... what PARSE lacks in performance it makes up for in legibility. And maybe there is indeed something we could be giving back to such projects, if I made the time to offer feedback and contribute ideas.
Or given that I'm a burnout, perhaps that could be your job.