Developing an expressive CBCL has proved unexpectedly difficult. Even concentrating on the idea of a purchase order doesn't easily lead to defining formats that permit expressing all that should be possible to include in a purchase order. The problem is that every aspect of the purchase order such as the delivery method or the terms of payment seems to admit infinite variation and elaboration. It is a semantic feature of natural language that this elaboration is possible. The problems do not at all stem from the rigid list syntax of CBCL, which after all resembles the result of parsing a natural language text. The problems are in the semantics, i.e., in specifying what should be expressible.
This suggests that the problem of formalizing what is expressible in natural language can and should be studied entirely separately from the syntax. In addition it suggests that putting natural language front ends on computer programs often entirely misses the key problems of natural language. Namely, before the natural language front end is attached, the programmer has already decided what things shall be sayable, and they are usually things that can readily be said in a pre-existing input-output system. But if we are right, the most difficult problems in making a computer use language involve deciding what is to be sayable.
For example, consider some possible specifications of the method of delivery.
1. By air excluding Capital Airlines.
2. By air excluding Capital Airlines provided this doesn't delay the shipment more than a day.
3. As soon as possible without incurring extra charges.
4. By truck complying with the rules on shipment of explosives (even though the present shipment isn't classified as explosive).
5. By truck making sure our competitor doesn't learn the size and model number of the item shipped.
Unfortunately, these few examples do not show the scope of the problem.
In order to make sense of expressions like those in the above examples programs that use CBCL will have to be capable of non-monotonic reasoning. Namely, they will need to be able to give the most standard interpretations of the messages compatible with what has been said explicitly. Circumscription has been proposed as a tool for this.