I believe that GCL and ECL are wrong about the symbols exported or not exported from package :CL. The symptom is that the below cryptic form works in clisp, cmucl, sbcl and allegro, but not in gcl (gclcvs 2.7.0-64.2 from debian i386) or ecl (0.9i-2 from debian i386).
(map()(lambda(n l)(princ(subseq #.(format nil "(~{~A~#[~:; ~]~})~%"(let(r)(do-external-symbols(x :cl)(push x r))(sort r #'string< :key #'string))) n (+ n l))))'(875 949 8 6010 4863 371 11)'(4 3 5 5 3 2 2)) The form depends on the fact that the ANSI standard pretty much mandates which symbols are external in the CL package in section 11.1.2.1. Conforming implementations are free to have more symbols in other packages, and to have packages that include the symbols in CL in addition to many others, but the list of symbols in CL is pretty much a universal constant (at least until the standard is revised). You can diff the result of the following form between implementations to see where the results diverge. ECL non-conformingly exports just the symbol *OPTIMIZE-SLOT-ACCESS*, whereas GCL non-conformingly exports a whole lot of symbols. (format t "~{~A~%~}"(let(r)(do-external-symbols(x :cl)(push x r))(sort r #'string< :key #'string))) [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] (map()(lambda(x)(format t"~31R "x))'(595756 9556552524 643802 496307950)) _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel