Issue DEFGENERIC-MULTIPLE-DECLARE
Issue: DEFGENERIC-MULTIPLE-DECLARE

Forum: Editorial

References: DEFGENERIC

Category: CLARIFICATION/CHANGE

Edit history: 2004-07-20, Version 1 by Bruno Haible

Status: For CLiki consideration

Problem Description:

The BNF syntax of DEFGENERIC does not allow multiple DECLARE options. However, the DEFGENERIC description says what to do in this case: "The declare option may be specified more than once. The effect is the same as if the lists of declaration specifiers had been appended together into a single list and specified as a single declare option."

Proposal (DEFGENERIC-MULTIPLE-DECLARE:ALLOW):

Allow multiple DECLARE options in the same DEFGENERIC form. Change the BNF syntax from
   [[option | {method-description}*]]
to
   [[option | {declare-option}* | {method-description}*]]
and define
   declare-option ::= (_H(DECLARE) gf-declaration+)
and remove the declare clause from option.

Test case:

Rationale:

This is what was probably intended.

Current practice:

Paul Dietz's DEFGENERIC.26 test assumes ALLOW.

Cost to Implementors:

Small: Remove an error checking in the DEFGENERIC macro expander.

Cost to Users:

None.

Cost of Non-Adoption:

Benefits:

Avoid an inconsistency.

Aesthetics:

Discussion:
  • Bruno Haible supports proposal ALLOW.