How is called the colon operator?
Logically, using colons for strings as an abstract operation would fit the language. It is clear for ordered lists, like “a”, “b”, “c”, “d” gives “b”:“c” value “b”, “c”; where ordered alphabet leaves open the exact elements of a list, but for any ordered list it is known. If ranges and elements are separated, the list meaning would be known for any array type, but where range=elements, meaning for this list for a subset dimension would be known for any dictionary.
There are many cases where order of list matters, in case of strings - most simple on the operational level would be dictionary pages, where values also have to be cut in the middle, with layout and size of the string, so that strings are combined with numbers; I don’t know whether it is “string”:12:“String”:13; or “string”:“String”, 12:13 or [“string”::n12]:[“String”::n13] (view http://www.antimoon.com/how/cobuild-review.htm). Layouts, which could return such data about their elements, should be supported.
I wasn’t very serious about all of that, but it shows that having simply an object, which contains two strings and a colon between them, and knows it’s simpler use cases, where you give it to the ordered strings container or container of written numbers (maybe including simple syntax for mathematical formulas, even in abstract space), could lead many common cases to much more clarification.
It is also interesting question, how to order dictionary, which has german and estonian letters mixed? Is it the same “Ü” in German alphabet and the “Ü” in Estonian alphabet or is it not? Is this the same word if German and Spanish words have exactly the same letters?
Allowing also multidimensional string dictionaries would not break it. Say, I take a Chemical elements table and express the components I can make with GChemCalc syntax. This will give me a whole infinity of mathematical expressions, but it also matter, which ones I plan to ever use - so I can leave the syntax wholly abstract.