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

Issue: ARGUMENTS-UNDERSPECIFIED (Version 2)



I tried to add a current practice, etc. section. 

I added some wording about other constraints to the other arguments.

Saying T as the type of eof-value and SET confused me; one might interpret,
especially since eof-value is optional, and none of the other types are named by
their type specifier. 

I'm not too worried about the distinction of STRING-CHAR vs CHAR since the
character committee will propose to get rid of the distinction, but it might
otherwise come up in SET-SYNTAX-FROM-CHAR and MAKE-DISPATCH-MACRO-CHARACTER.


!
Issue:        ARGUMENTS-UNDERSPECIFIED
References:   LOGBITP (p 224), MAKE-DISPATCH-MACRO-CHARACTER (p 363), 
	      MAKE-HASH-TABLE (p 283), MAKE-SEQUENCE (p 249), READ (p 375)
     	      MAKE-STRING (p 302), NTHCDR (p 267), PARSE-INTEGER (p 381),
	      SET (p 92)
Category:     CLARIFICATION
Edit history: 26-Aug-88, Version 1 by Chapman
	 4-Sep-88, version 2 by Masinter

Problem Description:

The descriptions of LOGBITP, MAKE-DISPATCH-MACRO-CHARACTER, READ, SET,
MAKE-HASH-TABLE, MAKE-SEQUENCE, MAKE-STRING, NTHCDR, and PARSE-INTEGER 
are not clear about the types of the arguments supplied to these 
constructs.

Proposal (ARGUMENTS-UNDERSPECIFIED:SPECIFY)

Clarify that the arguments for the listed constructs are as follows:

Construct			Argument	Type
LOGBITP 			index		non-negative integer
MAKE-DISPATCH-MACRO-CHARACTER 	char		character
MAKE-HASH-TABLE			size	 	non-negative integer
MAKE-SEQUENCE	     		size		non-negative integer
MAKE-SEQUENCE	     		type		type specifier
MAKE-STRING			size            non-negative integer
MAKE-STRING			initial-element	string-char
NTHCDR 				n		non-negative integer
PARSE-INTEGER 			start,end       non-negative integers
PARSE-INTEGER 			start,end       non-negative integers
SET-SYNTAX-FROM-CHAR		to-char,from-char
						characters
READ and others			eof-value	any value
SET				value		any value

(MAKE-HASH-TABLE, MAKE-SEQUENCE, MAKE-STRING have additional constraints on
their respective SIZE arguments; for example, MAKE-STRING may signal an error if
SIZE is greater than or equal to ARRAY-DIMENSION-LIMIT. PARSE-INTEGER may signal
an error if the START or END arguments are  not in the range of the "string"
argument.)

Rationale:

This clarification allows predictible results to occur when 
arguments are supplied to these constructs.

Current Practice:

We 
Cost to Implementors:

None, since this is consistent with current practice.

Cost to Users:
None, since this is consistent with current practice.

Benefits:

This clarification will assist users in writing portable code.

Aesthetics:

The standard would be less clean were the allowed ranges of its functions not
specified.

Discussion: