
Hello, I have three questions (of which number 2 is most important) and one comment about the proposal. | CDR-defined symbols | | For every supported CDR n. XX in the system, there SHALL be a package | with name or nickname CDR-XX. 1. What if the user want loads two different libraries that each provided the interface of one CDR document? Those two libraries can't both be loaded without package name or nickname conflicts. | Every symbol defined in the CDR n. XX and implemented in the system | according to the CDR SHALL be available in the CDR-XX package as an | external symbol. (Comment) I'd suggest stating that the CDR-XX package corresponding to a CDR XX document make external all *and only* the symbols described in the document, so that a user of such a package would know the consequences of calling USE-PACKAGE on the package. | PROBE-CDR (CDR-NUMBER): a generic function | | CDR-NUMBER: an integer, specifying the CDR number. | | Return value: any true value if code intended to be a compliant | implementation of the CDR with the number CDR-NUMBER is available. In | this case the implementation of the CDR SHALL be fully loaded (and the | corresponding symbol added to the *FEATURES* list). If no | implementation is available, NIL is returned. 2. Is it your intention that a call to PROBE-CDR merely checks whether the specified CDR's functionality is already available in the Lisp instance, or that PROBE-CDR might load some files/modules/systems or otherwise change the state of the Lisp instance to arrange that the functionality of CDR-NUMBER becomes available? I ask because the sentence "In this case the implementation of the CDR SHALL be fully loaded (and the corresponding symbol added to the *FEATURES* list)" is vague to me: I can read it either as a static description of the circumstances under which PROBE-CDR returns true rather than false, or as a description of actions to be performed by PROBE-CDR. | CDR implementations MAY be provided by third-party libraries. Such | libraries SHALL define [m]ethods of PROBE-CDR function corresponding | to provided CDRs. 3. Similar to my first question, what should happen if two libraries want to provide the same CDR? They'll clobber each other's PROBE-CDR methods. Thanks, Richard