[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Format strings are wrong (observation feedback)
> Alex Shinn wrote:
>> (display (string "list: " ls #\newline) to-what-ever-port-you-like)
> 1) Does string use display or write to convert objects? You often need
> to interleave both.
- effectively elements composing lists and vectors assume write formatting,
otherwise display formatting is assumed; which seems fairly standard.
> 2) This can be inefficient to the point of being unusable. If ls takes
> up more than 50% of your memory, you can't even build the
> intermediate string.
- agreed; who says strings can't actually passed as lazy buffered streams?
>> (Personally I see no reason not to consider advocating simply backward
>> compatibly extending (string ...) rather than advocating "standardization"
>> of a function with limited additional utility which is arguably
>> inconsistent with the language's philosophy; but that of course is the
>> benefit that the SRFI process/forum provides us all.)
> I wasn't suggesting this for backwards compatibility so much as forwards
> compatibility. There is currently some uncertainty in the Scheme
> community as to exactly what a character is. For porting Unicode-aware
> Gauche scripts to other Schemes I've been toying with the idea of
> unifying characters and numbers. For future Schemes I wonder if
> implementing characters as single-character symbols might not be a good
> idea (probably still implemented using tagging under the hood rather
> than bloat the symbol table).
> Also I think it's good to keep string in the same style as list and
> vector - it should build a sequence from the individual elements, and
> not extrapolate them.
- suspect it all largely depends on what one is attempting to optimize for.