I have found a flaw that will break seed-compatiblity.
If the tuple contains tuples, the join will not be deep. If you use semicolon separators, (1,(2,3)) will be flattened to the string "1;(2, 3)" since the join does not descend into the second tuple. It just takes the default stringification which is comma-and-space separated. Also the parentheses are not controllable, so this would create a key clash with the tuple (1,"(2, 3)").
I am going to fix this by doing a recursive flatten using custom parentheses and separators so that (1,(2,3)) can map to "1;{2;3}" and (1,"(2, 3)") to "1;(2, 3)" avoiding the hash clash.
Suggestions are welcome as to how to implement a recursive stringification!
https://stackoverflow.com/questions/4779...o-a-string
If the tuple contains tuples, the join will not be deep. If you use semicolon separators, (1,(2,3)) will be flattened to the string "1;(2, 3)" since the join does not descend into the second tuple. It just takes the default stringification which is comma-and-space separated. Also the parentheses are not controllable, so this would create a key clash with the tuple (1,"(2, 3)").
I am going to fix this by doing a recursive flatten using custom parentheses and separators so that (1,(2,3)) can map to "1;{2;3}" and (1,"(2, 3)") to "1;(2, 3)" avoiding the hash clash.
Suggestions are welcome as to how to implement a recursive stringification!
https://stackoverflow.com/questions/4779...o-a-string