Call both resolve_const and resolve_fun from resolve_var
This commit is contained in:
parent
521b382dd7
commit
274bb4e197
@ -1728,13 +1728,21 @@ bind_var(Env = #{ vars := Vars }, X) -> Env#{ vars := [X | Vars] }.
|
|||||||
resolve_var(#{ vars := Vars } = Env, [X]) ->
|
resolve_var(#{ vars := Vars } = Env, [X]) ->
|
||||||
case lists:member(X, Vars) of
|
case lists:member(X, Vars) of
|
||||||
true -> {var, X};
|
true -> {var, X};
|
||||||
false -> resolve_const(Env, [X])
|
false ->
|
||||||
|
case resolve_const(Env, [X]) of
|
||||||
|
false -> resolve_fun(Env, [X]);
|
||||||
|
Const -> Const
|
||||||
|
end
|
||||||
end;
|
end;
|
||||||
resolve_var(Env, Q) -> resolve_const(Env, Q).
|
resolve_var(Env, Q) ->
|
||||||
|
case resolve_const(Env, Q) of
|
||||||
|
false -> resolve_fun(Env, Q);
|
||||||
|
Const -> Const
|
||||||
|
end.
|
||||||
|
|
||||||
resolve_const(#{ consts := Consts } = Env, Q) ->
|
resolve_const(#{ consts := Consts }, Q) ->
|
||||||
case maps:get(Q, Consts, not_found) of
|
case maps:get(Q, Consts, not_found) of
|
||||||
not_found -> resolve_fun(Env, Q);
|
not_found -> false;
|
||||||
Val -> Val
|
Val -> Val
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user