[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: MAKE-STRING-FILL-POINTER (Version 1)
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Issue: MAKE-STRING-FILL-POINTER (Version 1)
- From: Jon L White <jonl@lucid.com>
- Date: Thu, 10 Nov 88 21:12:46 PST
- Cc: CL-Cleanup@sail.stanford.edu
- In-reply-to: David A. Moon's message of Thu, 10 Nov 88 22:12 EST <19881111031257.6.MOON@EUPHRATES.SCRC.Symbolics.COM>
re: [JonL] This proposal isn't merely an ADDITION -- it is an incompatible
CHANGE, since CLtL explicitly states that the output of MAKE-STRING is
a simple string.
[moon] It is not an incompatible change. ... because no [currently?]
portable program will use the newly added feature.
Sorry, but it is an incompatiblity visible to any code-analysis system
that does type-inferencing. Those programs can "know" from CLtL that
MAKE-STRING returns a SIMPLE-STRING.
For example, Lucid's compiler contains detailed information about
the specified argument types and function result types, and uses that
information to do some type-inferencing. Furthermore, as Lucid 2.1 and
3.0 release documentation makes clear, AREF can only be open-coded on
SIMPLE-ARRAYs; so the distinction _can_ be critically important.
Now, I don't claim that Lucid's type-inferencing is perfect in all
circumstances; but it does matter to us when incompatible changes
are made to the type specifications of standard functions.
-- JonL --