Allow assigning patterns to variables #827

Merged
ghallak merged 10 commits from ghallak/231 into master 2021-09-11 23:18:30 +09:00
Showing only changes of commit 8645aa586f - Show all commits

View File

@ -1994,7 +1994,11 @@ rename_spat(Ren, {con, Ar, C, Xs}) ->
{{con, Ar, C, Zs}, Ren1}; {{con, Ar, C, Zs}, Ren1};
rename_spat(Ren, {tuple, Xs}) -> rename_spat(Ren, {tuple, Xs}) ->
{Zs, Ren1} = rename_bindings(Ren, Xs), {Zs, Ren1} = rename_bindings(Ren, Xs),
{{tuple, Zs}, Ren1}. {{tuple, Zs}, Ren1};
rename_spat(Ren, {assign, X, P}) ->
{X1, Ren1} = rename_binding(Ren, X),
{P1, Ren2} = rename_binding(Ren1, P),
{{assign, X1, P1}, Ren2}.
rename_split(Ren, {split, Type, X, Cases}) -> rename_split(Ren, {split, Type, X, Cases}) ->
{split, Type, rename_var(Ren, X), [rename_case(Ren, C) || C <- Cases]}; {split, Type, rename_var(Ren, X), [rename_case(Ren, C) || C <- Cases]};