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 NA_character_, the
  name is `NA`).
as.name is implemented as as.vector(x, "symbol"),
  and hence will dispatch methods for the generic function as.vector.
is.name and is.symbol are primitive functions.