This commit is contained in:
radrow 2022-07-03 19:10:47 +02:00
parent 7277a968f8
commit bd726a8902

View File

@ -652,15 +652,6 @@ expr_to_fcode(Env, {record_t, FieldTypes}, {record, _Ann, Rec, Fields}) ->
expr_to_fcode(Env, _Type, {list, _, Es}) -> expr_to_fcode(Env, _Type, {list, _, Es}) ->
lists:foldr(fun(E, L) -> {op, '::', [expr_to_fcode(Env, E), L]} end, lists:foldr(fun(E, L) -> {op, '::', [expr_to_fcode(Env, E), L]} end,
nil, Es); nil, Es);
expr_to_fcode(Env, _Type, {app, _, {'..', _}, [A, B]}) ->
St = fresh_name(),
Init = expr_to_fcode(Env, A),
Loop = {loop, Init, St, make_if({op, '<', [{var, St}, expr_to_fcode(Env, B)]},
{continue, {op, '+', [{var, St}, {lit, {int, 1}}]}},
{break, nil}
)},
Loop;
expr_to_fcode(Env, _Type, {app, _, {'..', _}, [A, B]}) -> expr_to_fcode(Env, _Type, {app, _, {'..', _}, [A, B]}) ->
BV = fresh_name(), % var to keep B BV = fresh_name(), % var to keep B
WithB = fun(X) -> {'let', BV, expr_to_fcode(Env, B), X} end, WithB = fun(X) -> {'let', BV, expr_to_fcode(Env, B), X} end,