Comment 2 for bug 1314767

Revision history for this message
Christophe Rhodes (csr21-cantab) wrote : Re: [Bug 1314767] Re: Improve #'string of sequence of characters error message

Tomas Hlavaty <email address hidden> writes:

> This seems to be allowed, so is there any reason why would the attached
> patch be a bad idea and being strict like ccl would be prefferable?

SBCL is (as a rule-of-thumb) conservative about what it accepts: a
rationale for that is that it is handy to have some kind of assurance
that code which "looks" portable and works under SBCL stands a
reasonable chance of working under other CL implementations. One
problem with extending (string x) to have implementation-defined
meanings (quite apart from the burden of documenting the
implementation-defined meaning, as we'd be required to) is that it is
not immediately obvious to someone writing code that (string x) isn't
portable CL, when X is an arbitrary sequence.

If there were no other convenient and defined way to express conversion
of a sequence of characters to a string, then probably we might consider
the extension anyway, despite those concerns. But since (coerce x
'string) exists, I think it's probably better to have STRING retain only
its mandated behaviour.