On 22.08.2022 04:05, Madhu wrote:
- The function contract requires it to return a string which is of type character.
The function contract doesn't say anything about accepting a stream whose element type is not a character.
- Lisps implementation support bivalent streams and alendria (correctly) deferred to the implementations behaviour, and this has been changed.
The fact that implementations support bivalent streams as a language extension doesn't mean that trying to stuff octets into strings is portable Common Lisp. The third bullet in Alexandria's README (https://gitlab.common-lisp.net/alexandria/alexandria/-/blob/master/README) states that Alexandria is all about portable CL.
Still, after waking up, I am of two minds about this issue, since there's also the issue of programmer convenience, "don't break userspace", and "if an implementation supports an extension, Alexandria could at least try not to get in the way". Are you able to make an account at https://gitlab.common-lisp.net and post an issue to https://gitlab.common-lisp.net/alexandria/alexandria/-/issues? If not, I'll make it and try to ask for opinion there.