なぜクソ仕様が生まれたのか

ひとりアドベントカレンダー24日目。
Rだとこんなことができる。

> "ggplot2" <- "dplyr"
> ggplot2
[1] "dplyr"
> "ggplot2"
[1] "ggplot2"

こんなことができるがゆえにHadley Wickhamなどはlibrary(ggplot2)と書かずにlibrary("ggplot2")と書くことを勧めていたりする。
しかし、なぜこのような言語仕様になっているかわからなかった。

で、例のごとくAdvanced Rを読むと以下のような一節があった。

The ability to use strings on the left hand side of the assignment arrow is a historical artefact, used before R supported backticks.

http://adv-r.had.co.nz/Environments.html#binding

どうやらバックティックが導入される前は、二重引用符で代用していたようである。
そういえば、%>%のような二項関数も二重引用符を用いて定義できていた。なるほど。
詳しくは来月の翻訳で確認したいところですね。

R言語徹底解説

R言語徹底解説