Names are limited to 10,000 bytes (and were to 256 bytes in versions
of R before 2.13.0).
as.name first coerces its argument internally to a character
vector (so methods for
as.character are not used). It then
takes the first element and provided it is not
"", returns a
symbol of that name (and if the element is
as.name is implemented as
and hence will dispatch methods for the generic function
is.symbol are primitive functions.