"I want to go to the store but, I may go to the park instead. Weather notwithstanding." There's the crux of it right there.
It seems you guys have lost sight of what we were, and are, trying to accomplish with our system. The original goals are at the top of the thread; specifically, we wanted to know:
1. If it's easier (at least for us) to program in English;
2. If we could parse English "sloppily" and still get precise and reliable results; and
3. If we could write a non-trivial compiler/development system in English.
Those questions have been answered in the affirmative, to our satisfaction, in the working prototype (which is readily available to all interested parties; just write me for the link:
gerry.rzeppa@pobox.com).
Our current goal, as stated later in this thread, is the development of an
apparently intelligent machine, using the following tangible and measurable definitions:
1. If it does what we tell it to do, it
understands;
2. If it can be taught new things, by whatever means, it
learns; and
3. If it can tell us what it has done, it
remembers.
Like our compiler and development system, it's a purely practical project.
The OP is trying to build an AI with a not in time compiler, not a natural program language. There is no such thing as a natural programming language. Everything has to have an exact meaning in order to get the desired result. So now you are back to syntax and learning what the compiler needs to hear. And saying it in a specific way.
Actually, the idea is to teach the computer enough about what people
typically say so that it will
appear to understand them when they express themselves as they
naturally do. That's why we use the terms
apparent intelligence and
natural language: it's a convincing simulation of intelligence that, under the covers, is nothing of the sort -- but that, on the surface, responds as might be expected to millions of very natural language requests that actual people might actually put to it. (Apple's SIRI is a similar project, with the disadvantage of not being English through and through!)
Keep in mind that the set of all sentences that someone
might actually say is exponentially smaller than the set of all sentences that someone could (but in all probability won't) say. And that a programmer working in a particular application area will have even fewer things to say (and fewer things to say them about). We don't need to handle the general case to build an "apparently intelligent" machine; only the (significantly smaller) actual case.
You can build a Natural program language easily, but it will never do anything more than add some numbers or some of the most basic things we think of when we think of computing. And that is what the OP has.
So when I say to my apparently intelligent PAL, "Hey Pal, open the garage door and turn on the light in the back yard," and it does, what is that? Or when I say, "Hey Pal, remind me next Tuesday at breakfast that I have a dentist appointment at two," and he does, what is that? I say that's the same kind of thing I'd say to my wife or my kid, and in the very same words I'd use with them. With the same effective results. Apparent intelligence.