Number: 1289 Date: 1-Jun-84 12':52':16 Submitter: Sannella.PA Source: JonL.pa Subject: Want to expand ARGNAMES prop so SMARTARGLIST gives more info Lisp Version: Description: ' Date': 17 May 84 04':02 PDT' From': JonL.pa' Subject': Convention desired for SMARTARGLIST' To': LISPCORE^' cc': LISPSUPPORT' ' Many of the lambda-nospread functions cause totally uninformative printouts in response to ?= reader macro. I''d like to see a modest convention established (and widely used) for ARGNAMES properties for use by SMARTARGLIST at least when EXPLAINFLG is non-null. ' ' 1) when the argument sequence looks like a property list, then it is more-or-less in the same form as those functions in Common Lisp that take "keywords". Thus FILEPKGCOM could better be described by an ARGNAMES property of ' (NIL (COMMANDNAME (KEYWORDS': MACRO ADD DELETE CONTENTS)) . L) ' Note that a list appears, with first element KEYWORDS':, where one might expect an argument name -- this is to convey the property-list/keyword format admissible from that point on in the arglist.' ' 2) when a number of arguments are "optional, from some point on" then a similar construct using OPTIONAL': could be informative. E.g., for PROCESSPROP I''d propose a ARGNAMES property of' (NIL (PROC PROP (OPTIONAL': NEWVALUE)) . L)' where "optional" doesn''t just mean "defaults to NIL", but means that the function explicitly checks to see if the argument was supplied by the caller.' ' 2) when a variable number of isomorphic arguments are admitted "from some point on" then a list with an eleison marker could go in; e.g., for the CommonLisp ASET function, its ARGNAMES property could be ' (NIL (NEWVALUE CMLARRAY (... INDICES)) . L)' ' I believe that only a few of the places calling SMARTARGLIST could possibly be affected; mostly TRACE and BREAK and maybe ADVISE.' ' Any comments?' ' -- JonL --' ' ' Workaround: Test Case: Edit-By: Edit-Date: Attn: Jonl, Masinter Assigned To: In/By: Disposition: System: Language Support Subsystem: Other Machine: Disk: Microcode Version: Memory Size: File Server: Server Software Version: Difficulty: Moderate Frequency: Everytime Impact: Minor Priority: Perhaps Status: Open Problem Type: Design - UI Source Files: