diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-10-07 07:12:40 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-10-07 07:12:40 +0000 |
| commit | de1b372ef7b412a4fdd35bff382d816403404cf3 (patch) | |
| tree | 9900d6c2353e1ae47d08b22f8306d7548afa27d1 /src/runtime/c/pgf/evaluator.c | |
| parent | 13c7721bc52ca2ee998c0a4347f15264c78a951b (diff) | |
the indirection should be done in the evaluate_expr_thunk gate instead of in the pgf_evaluate_expr_thunk function. this ensures lazyness
Diffstat (limited to 'src/runtime/c/pgf/evaluator.c')
| -rw-r--r-- | src/runtime/c/pgf/evaluator.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/src/runtime/c/pgf/evaluator.c b/src/runtime/c/pgf/evaluator.c index a53279cb3..eebaefd98 100644 --- a/src/runtime/c/pgf/evaluator.c +++ b/src/runtime/c/pgf/evaluator.c @@ -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; |
