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

Reply via email to