[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: FUNCTION-TYPE-KEY-NAME



I am generally sympathetic to the SPECIFY-KEYWORD proposal but can't really
endorse it in its current form because...

 * The problem description should make it clear that the problem is not
   the keywords can be in any order in the formal and actual argument
   lists, but rather just that CLtL is not clear on how the matchup is
   specified. It is "possible", it's just not "defined".

 * Item one of the proposal should not require that the <keyword> be in
   the keyword package since there is a proposal on the floor to loosen
   this requirement for keywords. Instead it should state that the <keyword>
   must be a valid keyword-name symbol.

 * Should we make it explicit that SUPPLIED-P information is either allowed
   or disallowed in FUNCTION declarations? (I see no reason to allow it but
   maybe I'm overlooking something.)

 * The test case is wrong because the word SORT is omitted in the declaration.
   This is presumably just a typo.

   Also, though, it looks funny because of the :KEY and because the type
   FUNCTION is also probably the user's idea of the argument's name. These
   "coincidences" don't make the example wrong but make it hard to focus on
   the points it's trying to make.

   I suggest picking another example. MAKE-LIST comes to mind. eg:

   (FUNCTION MAKE-LIST ((INTEGER 0) &KEY (:INITIAL-ELEMENT T)) LIST)