Is there a word for the ~> symbol used in Version strings?
Do you also just call it a Squiggle Arrow™ ?!
Is there a word for the ~> symbol used in Version strings?
Do you also just call it a Squiggle Arrow™ ?!
In the Ruby community it’s often called the “pessimistic operator” or twiddle-wakka. The Elixir Version docs only refer to it as “special operator.”
“Kinda greater”
I’ve always thought of it as the ‘at least and safest’ which ties in with @jswanner’s “pessimistic operator” (pessimistic because you assume major updates will be breaking).
According to Google:
The most universal use of
~>is in dependency managers like RubyGems (Ruby), CocoaPods (Swift/Objective-C), and Puppet. It is known as the pessimistic version constraint operator (or “twiddle-wakka”)
That’s what I’d probably call it too, the “pessimistic version constraint operator” ![]()
These Ruby people must be stopped.
I’d call it “roughly equals” or “bacon rocket”.
I usually refer to it as “version range”, like in a peer review or something.
As @jswanner stated, that is a twiddle-wakka, which comes from old MIT jargon-file era tirms for the tilde (a twiddle) and a bracket (a wakka).
A fun article about the origin: The Strange Case of the Twiddle-Wakka
My assumption for the origin of the “waka” part is that > looks like Pacman’s mouth, and Pacman goes “waka waka”. I have no evidence for this.
TIL “twiddle wakka”, that’s great.
I’ve always called it “squiggle arrow” or “squig arrow” in my head because that’s what it is in LaTeX:
\rightsquigarrow
I also really like “kinda greater” because it also works for “kinda lesser” for <~. Then again, it sorta breaks down for ~>>/<<~ as they’d be “kinda much greater”/“kinda much lesser” which seem like oxymorons.
TIL that version string syntax components have actual names. It just occurred to me that I’ve never had to actually talk to another dev about specific syntax in a package manager config before. If it’s in code review, I just use the actual symbol since it’s in text. If we’re actually talking about it, I just say something like “pin to major version” or something because that translates to any package manager regardless of the syntax used.
I do love when I learn a new term from the Jargon File that I wasn’t aware of before though. Definitely breaking out “twiddle-wakka” at the next cocktail party (if I ever attend a cocktail party). It’s nice cause it could also double as slang for a FFX overdrive turn. Maybe Fury ~> Attack Reels or something? lol
Hahahahaha
In the version comparison context I pronounce it “compatible with”.
Out of context I call it “squiggly arrow right”.
And different contexts might change how I pronounce it.