ziga.lenarcic at gmail.com
Tue Sep 8 07:43:11 CDT 2009
On Sep 8, 2009, at 2:26 PM, Raymond Toy wrote:
> Žiga Lenarčič wrote:
>> The contents of sloop.lisp in src is :
>> (in-package :cl-sloop)
>> (defmacro sloop (&rest body) `(loop , at body))
>> So 'sloop' is the same 'loop' which is in cl hyperspec. I guess sloop
>> used to be something different until GCL got proper 'loop'
>> implementation (or something like that)..
>> So it will work correctly if you put 'loop' instead of 'sloop'
>> because that's how 'sloop' is currently defined.
>> It wouldn't change or break anything.
> Normally, I would say if it ain't broke, don't fix it. IIRC, sloop
> very subtly different from ANSI loop, so it's not clear if changing
> sloop to loop is harmless.
> From what you way, nowhere in src is sloop still used, but's still
> in the share packages. Since I consider the share packages as (very
> useful) add-ons contributed by users, I would say it's up to the
> contributors to update their code appropriately if they so desire.
> It's really harmless for us to keep sloop around.
Of course it's harmless: all 'sloop's are replaced by 'loop's by the
compiler (that's what that macro does). No code needs updating,
because current sloop is in no way different from 'loop'. It's a
redundant macro (and a package). Looking at CVS there was a clean-up
where most of 'sloop's got changed into loops, but it wasn't removed
Having sloop around just creates confusion... It's harmless from the
user's perspective, but from developers perspective it's not (it's
unnecessary confusion)... I see that it's a common thing among
maxima's developers - don't touch or change anything. Everything
merely gets bolted on in a non cohesive way (excluding some additions
of special functions which are really well done) - for instance
lapack, minpack, quadpack, linearalgebra, many functions in src that
are covering the same functionality...
More information about the Maxima