Given that the following currently works in Ruby like a very limited version of Haskell's constructor pattern matching:
[[1,[2,3]]].map {|(x, (y, z))| x + y * z} #=> [7]
I wonder if it also supports a syntax for "as-patterns" (what Haskell calls them), which is basically putting multiple bindings on the same arguments, like so:
[[1,[2,3]]].map {|(x, yz@(y, z))| [x + y * z, yz]} #=> [7, [2,3]]
I tried @
and other symbols, but they all resulted in syntax errors.