1
0
forked from GitHub/gf-core

the indirection should be done in the evaluate_expr_thunk gate instead of in the pgf_evaluate_expr_thunk function. this ensures lazyness

This commit is contained in:
kr.angelov
2014-10-07 07:12:40 +00:00
parent 8d09f62efc
commit 9e493031b2
2 changed files with 17 additions and 23 deletions

View File

@@ -72,10 +72,6 @@ repeat:;
val->args[i] = args[n_args-i-1];
}
PgfIndirection* indir = (PgfIndirection*) thunk;
indir->header.code = state->eval_gates->evaluate_indirection;
indir->val = &val->header;
res = &val->header;
break;
}
@@ -165,10 +161,6 @@ repeat:;
lambda->expr = expr;
}
PgfIndirection* indir = (PgfIndirection*) thunk;
indir->header.code = state->eval_gates->evaluate_indirection;
indir->val = res;
}
break;
}
@@ -190,10 +182,6 @@ repeat:;
res = tmp_env->closure;
PgfIndirection* indir = (PgfIndirection*) thunk;
indir->header.code = state->eval_gates->evaluate_indirection;
indir->val = res;
if (n_args > 0) {
PgfValuePAP* val = gu_new_flex(state->pool, PgfValuePAP, args, n_args);
val->header.code = state->eval_gates->evaluate_value_pap;