blending nummod into Maxima



If I were to blend nummod into Maxima  (notice the subjunctive), I'd do 
something like:

(1) Copy the nummod functions $featurep, evod, maxima-integerp, and the 
associated
 setf stuff for maps-integers-to-integers and integer-valued to 
compar.lisp.

(2)  I'm not sure where (mfuncall '$declare '$integervalued '$feature) 
belongs -- maybe in
compar.lisp.

(3) Create a new file, say maxima-utilities, for the functions while, 
op-equalp, and mrelationp.
 There might be other while macros in src --- perhaps in nset.lisp.  These 
should be expunged.

(4) Copy make-number and cl-rat-to-maxima to nparse.lisp. Richard Fateman 
gave me
permission to include his code --- we should ask again (LLGPL vs GPL).

(5) expunge $max, $min, and maximin from compar.lisp.

(6) Copy compare, lenient-extended-realp, and lenient-realp to 
maxmin.lisp. Other than
this, maxmin stays about the same.

(7) rationalize doesn't have a logical home --- I'd put it in maxmin.lisp. 
 My
motivation for rationalize was that I didn't like compare(0.1,1/10) ---> 
"=".

(8)  The file nummod.lisp is mostly unchanged (some eval-when stuff would 
change). 

(9) The tests get moved to tests and appended to the list of tests.

Also,

(a) nummod has the LLGPL license --- I'm OK with anything that protects me
from being sued (and that gives me just enough credit so that my Dean 
knows
I did something).

(b) Should we create a new maxima-utilities file, I think it would be 
appropriate
to assign a copyright to the "Maxima Computer Algebra Project" and 
acknowledge
the contributor(s).  I can foresee lots of other bits of code that might 
go into such a file.

(c) This is a start. I'm sure I've ignored something.


Barton