🐈

purrrの読み方と語源

2024/09/03に公開

Rのtidyverseに関数型プログラミングを支援するpurrrというパッケージがあってとても便利なのですが……読めないですよね。あと名前から中身がぜんぜん連想できないです。

purrrのロゴ
purrrのロゴ。猫ちゃん寝ててかわいいね

ということで、purrrの正式な読み方と語源を調べました。

  • purr (猫が喉を鳴らす音) + R が語源なので「ぷぁらー」と発音するのが正しい。
  • ただし、purrをpure functionのpureとかけているので「ぴゅあらー」と発音してもよい。

日本で定着している読み方

まず日本のR界隈でpurrrがどう読まれているかですが、綴りをそのまま読み上げた「ぷるるる」が多いみたいです。私も「ぷるるる」と読んでました。

https://x.com/Sakura_Med_DSci/status/1575722582434643968

開発者が提唱している読み方

公式の読み方が知りたいわけですが、公式ドキュメントには特に記載がありません。代わりに、開発者・ハドリー・ウィッカム氏がXで以下のように回答しているのを見つけました。

https://x.com/hadleywickham/status/648969101503676416

「(末尾にRが付いているから) 舌を巻いて、猫になったつもりで発音しろ。」これがハドリー提唱の読み方です。猫にならないといけないのは、purrが猫が喉を鳴らす音 (※ニャーじゃなくてゴロゴロのほう) を表す単語だからですね。purrは「ぷぁー」のように読むので、ハドリーに従うならpurrrは「ぷぁらー」などと読むのが正しいということになります。

ただこれはハドリーが気に入っている読み方というだけで、purrrの開発者の間では読み方が割れているみたいです。その経緯は、パッケージ名の由来を掘り下げていくと明らかになります。

パッケージ名の由来

ハドリーお気に入りの読み方はわかりましたが、そもそも関数型プログラミングのツールキットの名前がなぜ猫の鳴き声なのか気になりますよね。purrrという名前に至るまでの経緯は、以下のイシューに残されています。(purrrはもともとlowlinerという名前だったのですね。)

https://github.com/tidyverse/purrr/issues/35

以下、イシューから主要なコメントを抜粋しながら流れを追ってみます。

purr would be an awesome package name (and would get many hits on twitter with the hashtag rcatladies)

まず初めに、purrrの原型となるpurrという名前が提案されました。ここでいきなり #RCatLadies なるものが出てきましたが、これはRの国際的な女性コミュニティであるRLadiesの猫支部 (?) のハッシュタグで、主にRユーザーが猫の画像をポストする際に使われています。当時の雰囲気がわからないのでアレですが、RLadiesの急成長が2012~2016年頃、lowlinerからpurrrへの名称変更が2015年頃で時期が重なっているので、おそらく名称変更当時にRコミュニティで流行っていたネットミーム #RCatLadies に乗っかることでパッケージの認知を高める意図が背景にあったものと思われます。猫にちなんだパッケージ名になった理由はこれですね。

The reference would be either:

  • pure, for pure functions
  • or in a more tortuous way: function → purpose → purr

ネットミームにあやかりつつ関数型プログラミングとの関連付けもされており (猫ありきの、こじつけっぽい感じですが……)、関数型プログラミングの重要概念である純粋関数pure functionのpureと猫の鳴き声purrをかけていると言っています。(続けて「functionはpurposeという意味だから、purposeのpurってことでもいいんじゃない?」とも言っていますが、さすがに遠すぎたのか以降の議論では特に触れられていません。)

"purrr" will cause many typos, (spot the typo at 3 AM: "purrrr", "purr", "purrr") and is hard to say.

the other advantage of two r is that this way, purr can be pronounced pure

But with three R's you could pronoun it as purer

purrという名前が提案された後、イシューでは「末尾のrを何個にするか?」で議論が盛り上がります。rを増やしたがったのは主にハドリーで、理由はdplyrやtidyrなど既存のtidyverseパッケージと名前の世界観を揃えたかったからです。rを増やした場合の問題点として発音のしづらさが指摘され、対策としてpurrをpureと発音することを認めています。

まとめ

  • 当時、R界隈で猫が流行っていたので猫にちなんだパッケージ名を付けたかった。
  • そこで「猫が喉を鳴らす音purr」と「pure functionのpure」をかけてpurrrと名付けた。
  • 語源が猫の鳴き声なので、purrrは「ぷぁらー」と猫っぽく読むのが正しい。
  • ただし、発音しにくい場合は「ぴゅあらー」と読んでもよい。

Discussion