When first seeing Rebol, I thought there was an interesting line of argumentation in "commas and periods are so visually similar, they shouldn't do different things in the language."
This made it seem like not much of a sacrifice to allow comma to mean the same thing as period. Having been to Montreal and seeing for myself that you can go places where things cost $1,95 and not $1.95 then I could see that someone out there in the world would find it useful...even if I did not.
But I'm completely sold on the COMMA! value type now.
This doesn't necessarily mean dropping comma support in numbers. Because the rule for COMMA! is that there have to be spaces. And I've already taken 1.
away as a DECIMAL! so that you have to write 1.0
, hence there's no ambiguity in 1,
- you would have to write 1,0
So What Harm Does It Do?
Main "harm" is that it doesn't allow more compressed COMMA! forms:
[1,2,3] ; can't write this
[1, 2, 3] ; have to write this
I'm not too bummed about that. We might also say that internal commas are tolerated for things like URL! and ISSUE! and FILE!, but not terminal commas.
%foo,bar ; loads as [%"foo,bar"]
%foo, bar ; loads as [%foo, bar]
There's more potential for accidents. People might write:
[1,2] ; let's say they meant [1, 2] (INTEGER! COMMA! INTEGER!)
...and instead of getting an error they'd get [1.2] (DECIMAL!)
Outside of that you've got people writing things in different ways for relatively little value. People from the weird places that use this format already know they're weird, and have to adjust for nearly every other language. Why choose this particular battle for expression, when there's so much else to be worried about?
I Don't Have Strong Feelings
The only time I ever thought about it was when I brainstormed that we might use comma as the only format for DECIMAL! so that 1.2 could be a TUPLE! of integers...which I didn't care so much about because I don't use DECIMAL! hardly ever in scripting languages. But other people do, and want the familiar format. So we're now looking at 1x2 as being a two-element integer tuple, a.k.a. a PAIR! (there would no longer be decimal pairs, but given that Red doesn't support those either, that supports my observation that they seem more trouble than they are worth.)
The default will be to just let the format stick around, I guess.