I wish their page included something along the lines of "Why do I care?"<p>Maybe a few examples of "data munging" tasks which the authors view as poor fits for [language X] and how their stuff solves the problem better.<p>Maybe something like "why is our language better than regexps in whatever language environment you already know?"
TXR looks rather like the CRM114 language that's been used to implement some rather amazingly accurate text classifiers (some better than most people on their own mail), though a bit less bizarre and I think more accessible:
<a href="http://crm114.sourceforge.net/docs/INTRO.txt" rel="nofollow">http://crm114.sourceforge.net/docs/INTRO.txt</a>
CRM114 too treats pattern matching as the fundamental construct and has blazing performance for it and certain kinds of number crunching (it has to), but I don't think it's nearly as useful for the average hacker trying to munge a couple of text files. Still, worth a look both to users and possibly to language implementors. I'm definit
Reminds of a trick I do with mustache.java. Templates can not only be used to generate output, but because of the declarative nature of the mustache language they can be used to parse output back into data that in combination with the template would generate that output. Makes for pretty intuitive parsers. In my case all text that isn't templating declarations are regexes.
As I come to see more of my data-related work be consumed by data munging/cleaning work, I'm convinced that a language/framework devoted to data munging is at least as important as those devoted to data visualization.
Kaz Kylheku is one of the kooks from comp.lang.lisp where lisp is the One True Language. The funny thing is that TXR is written in C!<p>Kaz: How come you didn't write TXR in lisp?
Hmm, this looks more like parsing than munging to me, but then I guess "munging" is not exactly scientific terminology.<p>My own take on easy data transformations, if you'll allow me the plug: <a href="https://github.com/stdbrouw/refract" rel="nofollow">https://github.com/stdbrouw/refract</a>