Offhand, I can think of 3 places where dots are used in Arc.
1) for improper lists (where the cdr of the final cons is not nil),
2) in parameter lists, to indicate that all remaining arguments are to be collected into a list and assigned to a single parameter, and
3) as a syntactic abbreviation.
I'm guessing you're referring to the 3rd use, since it's a departure from earlier dialects of Lisp.
When the compiler sees a sequence of non-whitespace characters, it has to decide what it represents. Might be something important like a parenthesis, a character constant, a string, or a number. If it's none of the above, then it's probably a symbol. But before it decides on symbol, it first checks to see if it's a syntactic abbreviation, looking for for one of the special characters: ".", ":", "&", "!", and "~". If any of those are present, then it's some sort of abbreviation and is handled specially; otherwise it's a symbol.
You can search in ac.scm for "ssyntax" to see how things are implemented. You can experiment using "ssexpand".
Usefulness... Saves typing, right? If you want to see the 5th element of a list, you could type fred.5 or (fred 5)
Seems natural for strings, tables, etc.
Same for ":". We all know the classical abbreviations like "cadr" and "cddr", but we can also gen up new ones like car:cdr:cdr:cdr:cdr which yields a function like caddddr that we can pass around in a 1st-class way.
That is a known issue with Windows. (I'm guessing it's the reason arc3 is still the "official" version on the install page.) Simple workaround[1]: Find the line that says:
Could you talk about your decision to use it for Readwarp then? If Arc's not really ready for production use, might it still be a good choice for a certain minority of developers?
Yeah, I'm not trying to say you shouldn't use it for production use :)
They're opposing perspectives. As a user of arc I'd throw it into production[1]. At the same time, from PG's perspective I'd want to be conservative about calling it production ready.
I suspect arc will never go out of 'alpha' no matter how mature it gets, just because PG and RTM will not enjoy having to provide support, or having to maintain compatibility.
[1] With some caveats: treat it as a white box, be prepared to hack on its innards, be prepared to dive into scheme and the FFI. And if you're saving state in flat files, be prepared for pain when going from 1 servers to 2.