Re: strings and char arrays (Re: #\a octothorpe syntax vs SRFI 10) bear 02 Jan 2005 17:49 UTC


On Sat, 1 Jan 2005, Shiro Kawai wrote:

>The new draft (srfi-58-new.html) still says:
>
>  "All implementations must support the character array type,
>  the rank-1 character arrays being strings."
>
>As Bear pointed out in <Pine.LNX.4.58.0412301550550.3862@bolt.sonic.net>,
>a string may not be implemented as a simple array of characters.
>It is always possible to implement array operations on strings
>since they can be accessed by index.  However, having distinct
>character array objects may be good in some implementations
>where strings have indexed access costs more than O(1).

It's more than that, actually: string operations such as length-
changing mutation may be horribly inefficient on strings-implemented-
as-arrays, and array operations such as indexed-reference may be
suboptimal on strings.  Presenting strings that look like arrays
invites people to implement string operations in terms of array
operations, which could result in "worst of both worlds" performance.

				Bear