Symmetry

Symmetry is an esoteric programming language designed under the observation that most traditional languages use Hashmaps to store data, but that this practice is more for programmer's convenience than for necessity (see: any other esolang ever, where the data model is anything but a hashmap).

Idea
Most traditional languages use hashmaps to store data; that is, a  pair. Symmetry, on the other hand, uses a Bidirectional map, or hashbag, to store its data; that is,  pairs. This means, essentially, that  (the arrow there being "iff" in this case, not the earlier-used   syntax). This leads to a few interesting properties; for example, that the assignment expression  is logically equivalent to.

Syntax
The syntax of Symmetry is fairly trivial; it looks quite like a normal language (as one of the common reasons esolangs look abnormal is that they're dealing with a strange data model, which we are not here). Note that all syntax is tentative; none of it will necessarily stay for long, until the author feels it is complete.

Grammar
value ::= STR | NUM ; pexp  ::= "(" exp ")" ; fexp  ::= NAME "(" [{exp ","} exp] ")" exp   ::= fexp | pexp | value OP value ; ifthen ::= "IF" exp "{" {stmt} "}" {"ELSE" ifthen} ["ELSE" "{" {stmt} "}"] ; while ::= "WHILE" Exp "{" {stmt} "}" ; stmt = while | ifthen | exp