`loop` is incomplete
As the manual mentions, loop
is partially implemented. Here's a concrete example:
(ps:ps (let ((foo (list "c" "d")))
(dolist (bar (list "a" "b"))
(let* ((i 0)
(a-foo (aref foo i)))
(setf i (1+ i))))))
(function () {
var foo = ['c', 'd'];
for (var bar = null, _js_arrvar130 = ['a', 'b'], _js_idx129 = 0; _js_idx129 < _js_arrvar130.length; _js_idx129 += 1) {
bar = _js_arrvar130[_js_idx129];
var i = 0;
var aFoo = foo[i];
i += 1;
};
})();
(ps:ps (let ((foo (list "c" "d")))
(loop for bar in (list "a" "b")
for i from 0
for a-foo = (aref foo i))))
(function () {
var foo = ['c', 'd'];
var _js135 = ['a', 'b'];
var _js137 = _js135.length;
var FIRST138 = true;
for (var _js136 = 0; _js136 < _js137; _js136 += 1) {
var bar = _js135[_js136];
var i = FIRST138 ? 0 : i + 1;
if (i > null) {
break;
};
var aFoo = foo[i];
FIRST138 = null;
};
})();