rcdev58 Well, at the moment, the material in congo-docs only relates to using the CongoCC parser generator. How the templates work only affects people who are working on the internals of the parser generator. It seems that Claude still gets confused about this. But, be that as it may, sometimes Monsieur Claude says some insightful things -- or at least things that get me thinking. One such thing was that, in a recent conversation, Claude casually commented that there were far more people out there interested in a template engine than a parser generator. And that is almost certainly true. In fact, for me, it was sort of a duhh bang my head sort of moment. It's that since putting so much energy into getting this CongoCC beaten into shape, I have been fixated on that, and...
So, yeah, this situation of having this very robust usable template library sort of hiding there inside a parser generator -- which most people consider some very specialized thing. Also, they consider it to be this very specialized thing that they don't understand. And never will... Somehow the whole parser generator space has this mystique built up around it... (I've said that before, but I suppose it bears repeating...)
But, anyway, that casual comment from Monsieur Claude somehow did get me thinking... about how much stuff there is kind of hidden away in CongoCC. I mean, aside from the templating library, there are all these very robust parsers for the various languages. I mean, even if you're not interested in writing a grammar yourself, i.e. using a parser generator, you can just use the Java parser and it's extremely robust and performant really. For example, there is this quite popular project called Javaparser (how imaginative of them!) that has as its basic goal to parse Java code. https://github.com/javaparser/javaparser That has over 6000 stars on Github, 1200 people have forked it. Quite a few people are, or have been, involved with it. Meanwhile, that project's raison d'etre is basically to write/maintain a Java parser -- which is really a relatively minor subset of the functionality of this project. Frankly, I doubt that, of the time I've spent on CongoCC, that any more than about 3% of it was devoted to working on that Java grammar/parser. (Possibly less.) False modesty aside, that does imply that I am much more effective than them. I mean, at programming, I am more effective. They are somehow much more effective at self-promotion!
Well, anyway, I'm going on a bit, but one thing that all of this train of thought led me to is that these docs we're working up (and don't get me wrong, I'm very happy about the way things are going) probably should address the standalone use of the various parsers. Particularly the Java parser. I mean, some people might just want to roll a Java parser into their app and to have a HOWTO that explains how to do that. BUT... then again... I'm not sure that should be part of the main congocc documentation. It could live in its own separate little documentation universe. Somebody who just wants a Java parser most likely doesn't care about all the various features of CongoCC. And certainly, somebody who wants a template engine doesn't. That, by the way, is why I asked you, when moving the repository over, to call it congo-docs, not congocc-docs. Not that it makes that much difference, but that is related to this train of thought. Funny enough, the "organization" that this is part of was named "congo-cc" because, amazingly, somebody had already taken the congocc name on github. See: https://github.com/congocc Somebody created that and has not added any repositories. I have no idea who that is. (Maybe somebody who doesn't like me very much.)
But, finally, it doesn't matter much and it could well be better to rename congo-cc to congo-tools or something like that and really brainstorm about how to get the word out about what is on offer, that there is a set of tools available that is not just the parser generator.
But, I mean, it doesn't seem that concentrating almost exclusively on the fact that we have a parser generator is a winning strategy in terms of gaining mindshare. But, anyway, yes, there is a need for CTL docs as well. And, in fact, I was taking some baby steps in that direction on my local machine, just getting another Sphinx project going, but I haven't committed any of that. But the docs for the template functionality will just be completely separate. Well, aside from pointing out that CTL is a very good integrated functional example of using CongoCC.