Skip to content

Instantly share code, notes, and snippets.

@jinpan
Created June 7, 2016 19:00
Show Gist options
  • Save jinpan/706c82365b116ca690c17a181261774b to your computer and use it in GitHub Desktop.
Save jinpan/706c82365b116ca690c17a181261774b to your computer and use it in GitHub Desktop.
f = function*(__wl_agt, __wl_scp){ ;
;
let __wl_171_param_name = String("n");
;
;
let __wl_180_a =
__wl_scp.get(__wl_171_param_name);
;
let __wl_180_b = 1;
;
let __wl_179_cond =
Comparison.lte(__wl_180_a, __wl_180_b)
;
;
if (__wl_179_cond) {
;
let __wl_172_param_name = String("n");
;
let __wl_185_ret =
__wl_scp.get(__wl_172_param_name);
;
;
return __wl_185_ret;
;
}
;
;
;
let __wl_173_param_name = String("n");
;
;
let __wl_183_a =
__wl_scp.get(__wl_173_param_name);
;
let __wl_183_b = 1;
;
let __wl_181_param_vals = new Map();
__wl_181_param_vals[0] =
__wl_183_a - __wl_183_b
;
let __wl_181_fn_name = "fib";
let __wl_181_fn = Common.State.procedureFunctions.get(__wl_181_fn_name);
let __wl_181_new_scp = new Map(__wl_scp);
let __wl_181_params = Common.State.procedureParams.get(__wl_181_fn_name);
for (let __wl_i = 0; __wl_i < __wl_181_params.length; ++__wl_i) {
__wl_181_new_scp.set(__wl_181_params[__wl_i], __wl_181_param_vals[__wl_i]);
}
let __wl_181_gen = __wl_181_fn(__wl_agt, __wl_181_new_scp);
let __wl_181_ret;
while (true) {
let iterRes = __wl_181_gen.next();
if (iterRes.done) {
__wl_181_ret = iterRes.value;
break;
}
yield "YIELD NORMAL";
}
;
;
;
let __wl_174_param_name = String("n");
;
;
let __wl_184_a =
__wl_scp.get(__wl_174_param_name);
;
let __wl_184_b = 2;
;
let __wl_182_param_vals = new Map();
__wl_182_param_vals[0] =
__wl_184_a - __wl_184_b
;
let __wl_182_fn_name = "fib";
let __wl_182_fn = Common.State.procedureFunctions.get(__wl_182_fn_name);
let __wl_182_new_scp = new Map(__wl_scp);
let __wl_182_params = Common.State.procedureParams.get(__wl_182_fn_name);
for (let __wl_i = 0; __wl_i < __wl_182_params.length; ++__wl_i) {
__wl_182_new_scp.set(__wl_182_params[__wl_i], __wl_182_param_vals[__wl_i]);
}
let __wl_182_gen = __wl_182_fn(__wl_agt, __wl_182_new_scp);
let __wl_182_ret;
while (true) {
let iterRes = __wl_182_gen.next();
if (iterRes.done) {
__wl_182_ret = iterRes.value;
break;
}
yield "YIELD NORMAL";
}
;
let __wl_193_a =
__wl_181_ret;
;
let __wl_193_b =
__wl_182_ret;
;
;
let __wl_186_ret =
__wl_193_a + __wl_193_b
;
;
return __wl_186_ret;
;
;}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment