Skip to content

Instantly share code, notes, and snippets.

@pragdave
Created August 12, 2016 18:03
Show Gist options
  • Save pragdave/8eab7e0dcb4163bccf82e9c0f265777a to your computer and use it in GitHub Desktop.
Save pragdave/8eab7e0dcb4163bccf82e9c0f265777a to your computer and use it in GitHub Desktop.
generate_match_vars([{Key, Value, Expr} | T], ClauseVars, Left, Right) ->
case maps:find(Key, ClauseVars) of
{ok, Value} ->
generate_match_vars(T, ClauseVars, Left, Right);
{ok, Clause} ->
generate_match_vars(T, ClauseVars,
[{var, 0, element(1, Value)} | Left],
[{var, 0, element(1, Clause)} | Right]);
error ->
generate_match_vars(T, ClauseVars,
[{var, 0, element(1, Value)} | Left], [Expr | Right])
end;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment