Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • P parenscript
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • parenscript
  • parenscript
  • Issues
  • #10
Closed
Open
Issue created Aug 16, 2022 by André Gomes@aadcg

`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;
    };
})();
Assignee
Assign to
Time tracking