?iga Lenar?i? wrote:
>
> 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 was
>> 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 used
>> 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.
>>
>> Ray
>>
>
> 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
> completely.
Maybe because the share packages used sloop and no one wanted to fix
those? Maybe they are now broken because they depended on sloop
behaving differently than loop?
>
>
> Having sloop around just creates confusion... It's harmless from the
> user's perspective, but from developers perspective it's not (it's
> unnecessary
I don't see how it creates confusion. It's not used anywhere in src, so
no developer is likely to notice. Share packages are different matter.
> confusion)... I see that it's a common thing among maxima's developers
> - don't touch or change anything.
What would you rather have? Everyone touch everything so that
everything is subtly broken because no one understands how everything is
connected? Or maybe remove everything that isn't used in src, but might
be used in other peoples' programs?
It's a difficult balancing act. We can remove sloop from the maxima
sources; that seems harmless enough. But what about other people's
programs? Shall we gratuitously break them?
Or maybe I'm just too old and cranky to keep up with you young
whippersnappers and your crazy ideas! :-)
Ray