non standard LOOP - can not be build with ECL #13

avodonosov opened this Issue Mar 14, 2012 · 7 comments


None yet
2 participants

LOOPs like this

  (loop :for obj := start :then (cls-prototype cls) :while obj
        :for cls := (obj-cls obj) :for vals := (obj-vals obj) :do

are non standard - :for can not follow :while.

Most Lisps tolerate this, but not ECL:


marijnh commented Mar 14, 2012

Erm, you could have told me before I did a release. Oh well, seems to be fixed in 60a98fe

@marijnh marijnh closed this Mar 14, 2012

Sorry about tolding after the release, I happen to find the issues in the order - found it doesn't build with Clisp yet in the latest Quicklisp - understood the #\null fix is not released yet. Then encountered the issue with ECL (understood it quickly because I saw this LOOP problem on other libraries).

jsos.lisp has more LOOPs with :for after :while, so the problem might remain. Do you have ECL?


marijnh commented Mar 14, 2012

I don't have ECL installed. If you could write a patch that fixes the loops, that'd be much appreciated.

Can't propose a patch now - I have a pile of failures to review and report (we run tests of some CL libraries on various Lisps in the scope of this project -; I am now processing latest test results - report issues to developers).

I suggest to leave the issue open - at least we know it fails on ECL - it's the first step to fix it :)

@marijnh marijnh reopened this Mar 14, 2012


marijnh commented Mar 14, 2012

Agreed. Reopened.

BTW, ECL maintainer promised to change the LOOP error to warning in the next release (the are other libraries which fail because of the same LOOP error).

If so, despite the LOOP forms are not 100% correct CL code, they will become compilable on ECL (as well as on most other CLs).


marijnh commented Feb 26, 2016

Going to assume this is no longer a problem in current ECL.

@marijnh marijnh closed this Feb 26, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment