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

Issue: MAKE-STRING-FILL-POINTER (Version 1)



Your status file says:
  * MAKE-STRING-FILL-POINTER
  Synopsis: extend MAKE-STRING to take a fill-pointer?
  Version 1, 20-Oct-88
  Comments: extend to take other keywords? MAKE-STRING should return
	  simple string always? Interaction with character proposal
  Status: awaiting new version
But I don't have any record of any discussion that would warrant
a new version.  Also I don't believe the comments quoted above
are relevant to this issue.  If you have any discussion I should
see, and suggestions for a new version, could you forward them to
me?  If you send me that I'll make a new version.  Otherwise I
think the old version is ready to vote on, up-or-down.

Date: Thu, 20 Oct 88 21:25 EDT
 From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>

Issue:         MAKE-STRING-FILL-POINTER

References:    CLtL p.302

Related issues: none that I know of

Category:      ADDITION

Edit history:  Version 1, 20-Oct-88, by Moon, for discussion

Problem description:

  Once again I lost because I expected to be able to use MAKE-STRING
  to create a string with a fill-pointer, and I couldn't.  I had to use
  a more long-winded MAKE-ARRAY call instead.

Proposal (MAKE-STRING-FILL-POINTER:ALLOW):

  Give MAKE-STRING a :FILL-POINTER argument, with the same syntax and
  semantics as the :FILL-POINTER argument to MAKE-ARRAY.

Examples:

  (make-string 80 :fill-pointer 0)

Test Cases:

  See examples.

Rationale:

  I frequently expect it to be allowed and am surprised when it's not.

Current practice:

  I know of no implementations that support this.

Cost to Implementors:

  5 cents.

Cost to Users:

  none

Cost of non-adoption:

  none

Performance impact:

  none

Benefits:

  Increased language consistency.

Esthetics:

  Increased language consistency.

Discussion:

Other MAKE-ARRAY options that one might want to allow, but are
not already allowed or proposed, are :INITIAL-CONTENTS, :ADJUSTABLE,
:DISPLACED-TO, and :DISPLACED-INDEX-OFFSET.  A strong case could be
made for :ADJUSTABLE (I use an implementation where it doesn't matter,
so I don't care about that), I don't think anyone would care about the 
other three.