hop-1.4.0のScheme2jsにバグ発見
(for-each proc list1)はよいが、
(for-each proc list1 list2)は動かない。
エラー: l2 is not defined
ソースファイル: runtime.js
行: 1197
問題のコードは、
function sc_forEach(proc, l1) { /// export if (arguments.length == 2) return sc_forEach1(proc, l1); else if (arguments.length == 3) return sc_forEach2(proc, l1, l2); // else var nbApplyArgs = arguments.length - 1; var applyArgs = new Array(nbApplyArgs); while (l1 !== null) { for (var i = 0; i < nbApplyArgs; i++) { applyArgs[i] = arguments[i + 1].car; arguments[i + 1] = arguments[i + 1].cdr; } proc.apply(null, applyArgs); } }
Scheme2js-20060718ではすでに修正されているので、次のhopでは解消されているはず。