Why are strings in Snap! not just fancy lists?

Why aren't strings in Snap! just fancy lists?

what do you mean?

it's supposed to be text, not an array of characters like it is internally

and if you want it in list form just use untitled script pic (1)

why are you asking this anyway? is it preferable for text to be treated as a list of characters rather than its own data type? for functions like map and keep it is but you can easily convert between the two data types using the block mentioned earlier and untitled script pic (1)

join input list

We do something similar with picture data. Internally, the pixels aren't really a Snap! list; they're taken exactly from the JS picture array, with four one-byte numbers crammed into a word. So the list selectors know to recognize that special case and work as if the picture were a list of pixels, each of which is a list of four (RGBA) numbers.

So there's no reason in principle that the list functions couldn't be taught to work on strings. You'd get an error message if you try to change the list items to something other than a byte (he said handwavily, ignoring Unicode characters >255).

But I don't see a strong need for this. Strings are almost always short; it doesn't take long to SPLIT the string BY LETTER.