Hi Martin, I know you are experimenting with the grammar so don't take my comments too serious.
I've just come across combinat/branches/grammar/combinat/src/species.as.nw (r87) You probably know yourself the there is a introductory text missing that explains why you want to have the Grammar package in the first place. Then I don't quite understand the API of +, * and ^. To me it is unclear what it means to multiply two grammars or to apply ^ to two grammars. As long as you don't clearly specify what they mean, it's not a literate program. The Usage section in the API of "apply: (Symbol, List %) -> %" is incomplete/not really understandable. What is F? What is L? Try to read the API description out of context and you see what is missing. To be honest, for a general domain I don't think that Grammar is the best name for that domain. In fact, why does it live within species.as.nw? I don't see that your implementation is in any way connected to species. The X is the only connection to SingletonSpecies, but I already find X questionable. Grammar is more like that series stuff of mine. It will be used in the species world, but has a right to live of its own no? BTW, I somehow don't like "Self" would something speak against #. #1, #2, ...? Explain better what you do and *why* you do it that way. Not the code is the important stuff, also the documentation counts. And to me documentation counts even more than code. If I should look over your code, it is quite helpful for me to learn a bit how you think otherwise I cannot follow you steps. Please try to be more literate. API description is not everything. You know that from literate programming in Axiom. What information do I get from The description of a grammar can either be an \adname{ExpressionTree}, or \adname{failed}, if it is \adname{Self}. if I have the code Rep == Record(t: Partial ExpressionTree); right below it? You should explain *why* you choose such a representation and not just that you do it that way. Is there a particular reason why it cannot be something simple or something with more structure? A link to the FormalPowerSeries is perhaps also relevant, since you probably use the same trick for recursive grammars. Ciao Ralf ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Aldor-combinat-devel mailing list Aldor-combinat-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel