Is there a fun name for `::`?

I searched around a bit and haven't found a nickname for it like turbofish for ::<> in Rust or the plethora of names for things in Ruby, like "stabby lambda" ->, "twiddle waka" ~>, "spaceship" <=>, etc.

I've heard it called Paamayim Nekudotayim, literally "twice colon", from my days in PHP using it as the scope resolution operator there, but an eight-syllable Hebrew phrase can be a little hard to pronounce and is certainly no more convenient than simply saying "double colon" in English.

I mentally call it "double double dots" because of mistranslation years and years ago.

What have you all called it?

1 Like

Since, as you mentioned, ::<…> is a turbofish, couldn't :: be just called turbo?

Foo::Bar pronounced "Foo turbo Bar"

…which is easy enough to say.

More functionally, :: could be called scope as in "Foo scope Bar."

5 Likes

It's a scope operator, but that's not particularly fun.

2 Likes

I will take the first step and name it Pegasus. or in short Pega since Pegasus is a star-shaped constellation (or at least part of it) and :: looks like a square of stars.

1 Like

That's the double snakebite

2 Likes

Double-Deuce!

Agree, turbo

I like turbo a lot because it extends well into explaining turbofish, too.

Scope has some merit since it'd be more of a "does what it says on the tin" name.

7 Likes

I'm on the lookout for flying pigs, because while I usually point to the road traveled by PHP as one way to completely f**k up a programming language, I think in this instance they at least nailed the name: scope resolution operator. It's descriptive in that it is immediately obvious what it does when you hear the name ("twiddle waka"? "spaceship"? are these people for real??), and it isn't used often enough to necessarily warrant a short name.

2 Likes

Call me silly but I think double colon is already pretty funny. I mean, I'm not calling @ an anus either...

4 Likes

It kind of looks like a die rolled 4 ⚃. We could call it “die four”. Then everything after it would be to die four. :wink:

1 Like

That's two bad puns in just over a day. The other was “Type inference”? No!

1 Like

sorry but @llogiq made that comment first on twitter :wink:

My initial thought as a compromise between descriptive and usable was "scope dots" but one::two (one scope dots two) might get confused with one_scope.stew (one_scope dot stew) so to make it more fun and unique I recommend "scopey dots" so Foo::bar is "Foo scopey dots bar" (I realize the ambiguity with one_scopey.stew, but I think "scope" at the end of a name is going to be much more common than "scopey")
It's easy to say and descriptive.