silver
silver copied to clipboard
Irrefutable pattern syntax in let/lambda bindings
We should be able to write e.g. \ (foo, bar) -> ... instead of \ fb -> case fe of (foo, bar) -> ... end. Similar for let, we should be able to write let (foo, bar) = ... . This should really support any irrefutable pattern on the LHS, such a single production for a nonterminal.
This should probably be done as an extension that re-uses the pattern matching extension syntax? That means we probably would also want to split things up into a "primitive let" modification and a "let" extension that supports patterns, like how pattern matching is currently structured.
#555 is a prerequisite for lambdas. We should probably get around to #243 and #38 before making any more changes to the let syntax, too.