I don't like the operators' logic in elixir. There should be one for assigning variables, one for pattern matching and there is no rebinding of variables. Something like: //for assignment x = 1 //for pattern matching x == 1 Automatically translated.
Then what would you use for testing equality? And what would you use if you were pattern matching _and_ assigning in the same statement? I.e. {:ok, value} = function()
// equality with is already
1 == 1.0 //true
1 === 1.0 //false
// assigning x = 1
// pattern matching x ^ 1
// pattern matching and assigning x =^ 1 or x ^= 1
And they should remove the rebinding that is useless. But I find it very difficult for that to happen at that time.Automatically translated.