makelist(i,i,1,0) & translator



Robert Dodier  writes:

> Hi Barton, you wrote:

>> Until somebody fixes the makelist code in trans1.lisp,
>> I suggest that we comment it out.    The inconsistency
>> between translated and untranslated makelist code isn't
>> worth the (assumed) extra speed.
>
> Agreed 100% here. Have you already committed the fix?
> If you don't want to deal with it, email it to me.

Now, come on, you are talking of a small inconsistency between
interpreted and translated code, not about a gross dysfunction.

It is true that the translation property for $makelist is somewhat
incomplete in that it assumes that the bounds are numbers (the lower
bound a fixnum and the upper bound < most-positive-fixnum, actually),
while the interpreted version only wants their difference to be a
fixnum.

If, for the time being, you don't mind the latter restriction (which
your Maxima code can easily work around) it would be sufficient to
throw in a clause like

((= (1+ ,nn) ,|00|)
 (make-mlist))    

Wolfgang