Fat comma

The fat comma (also termed hash rocket in Ruby and a fat arrow in JavaScript) is a syntactic construction that appears in a position in a function call (or definition) where a comma would usually appear. The original usage refers to the " letters " construction in ALGOL 60. Newer usage refers to the " " operator present in some programming languages. It is primarily associated with PHP, Ruby and Perl programming languages, which use it to declare hashes. Using a fat comma to bind key-value pairs in a hash, instead of using a comma, is considered an example of good idiomatic Perl. In CoffeeScript and TypeScript, the fat comma is used to declare a function that is bound to.

ALGOL 60
The ALGOL "fat comma" is semantically identical to the comma. In particular, whether letter strings are used, and what their contents are, need not match between the definition of a function and its uses. The following are equivalent:

Perl
The "fat comma" forces the word to its left to be interpreted as a string.

Thus, where this would produce a run-time error under strict (barewords are not allowed): the following use of the fat comma would be legal and idiomatic: This is because the token  would be converted to the string literal   which is a legal argument in a hash key assignment. The result is easier-to-read code, with a stronger emphasis on the name-value pairing of associative arrays.

PHP
In PHP, the fat comma is termed a double arrow, and is used to specify key/value relationships when declaring an array. Unlike in Perl, the double arrow does not treat what comes before it as a bare word, but rather evaluates it. Hence, constants used with the double arrow will be evaluated:

Ruby
In Ruby, the fat comma is the token to create hashes. Ruby 1.9 introduced a special syntax to use symbols as barewords. In Ruby, the fat comma is called a hash rocket.

Use as lambda functions
The fat arrow is used to declare single expression anonymous functions in JavaScript, and C sharp.