[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Issue ARGUMENTS-UNDERSPECIFIED Writeup

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)

Issue: RANGE-OF-START-END-PARAMETERS.

Category: CLARIFICATION

Edit history: 26-Aug-88, Version 1 by Chapman

4-Sep-88, version 2 by Masinter

19-Sept-88, Version 3 by Chapman

21-Sep-88, Version 4 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

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 detect an error if

SIZE is greater than or equal to ARRAY-DIMENSION-LIMIT. Some additional

restriction on the range of characters which can have syntax in readtables

and are allowable to MAKE-DISPATCH-MACRO-CHARACTER SET-SYNTAX-FROM-CHAR might

be required in some other proposal.)

Rationale:

This clarification allows predictible results to occur when

arguments are supplied to these constructs.

Current Practice:

This proposal seems to be in line with current implementations.

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:

There is a separate cleanup proposal RANGE-OF-START-END-PARAMETERS which

addresses a possible incompatible change. This proposal contains what we

think are non-controversial clarifications.


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.