Re: Updating defsystem dependencies
Raymond Toy <[email protected]>
| Newsgroups | gmane.comp.mathematics.maxima.general |
|---|---|
| Message-ID | <[email protected]> |
On 4/15/26 7:20 AM, Barton Willis wrote: > Might straightening out these dependences eliminate some compiler > warnings such as: > > ; compilation finished in 0:00:00.620 > STYLE-WARNING: > 2 calls to MAXIMA::$LIMIT were compiled before a compiler-macro was > defined > for it. A declaration of NOTINLINE at the call sites will eliminate > this > warning, as will defining the compiler-macro before its first > potential use. > ; > ; compilation unit finished > ; printed 1 note > > The dozens and dozens of warnings distract from messages that are > important. I don’t know yet, but if it doesn’t, that’s next on the list. There’s also the issue with gcl that prints tons of warnings about function signatures changing or something. I have not checked to see if they’re due to compilation order or not. > > --Barton > ------------------------------------------------------------------------ > *From:* Raymond Toy <[email protected]> > *Sent:* Saturday, April 11, 2026 12:22 AM > *To:* <[email protected]> > <[email protected]> > *Subject:* [Maxima-discuss] Updating defsystem dependencies > > > Caution: Non-NU Email > > > Well, I asked Claude to check the dependencies of all the lisp files. > Here is what it said. I'll look into soon and fix this up if needed. > I think moving some macros and functions around would be helpful too > instead of just leaving this as they are. > > I'll update the asdf file too. > > > Bugs fixed > > > 1 — Duplicate |:depends-on| in |command-line| > > MK:DEFSYSTEM silently discards all but the last |:depends-on| clause > per module. |command-line| had two, so its |defmfun| dependency was > being dropped. Fixed by merging into one: |:depends-on ("defmfun" > "getopt")|. > > > 2 — |pois3| (key / bp / order / …) loaded far too late > > |pois3| was in |poisson-series| (nearly last) but its macros are > called at compile time by *cl-info, init-cl, inmis, intl, mdebug, > mutils, nparse, plot, rand-mt19937, bessel, expintegral, defint, hyp, > hypgeo, and limit* — all compiled far earlier. Promoted to a new early > |poisson-macros| module, placed immediately after |globals|. > > > 3 — |pade| (num / denom / red) loaded far too late > > |pade| was in |miscellaneous| (very late) but its three macros are > used across *simp, float, sin, limit, hayat, rat3b, rat3e, combin, > displa, nrat4, nisimp, irinte, nforma, rpart, series, sinint, mactex, > trigo, and risch*. Promoted to a new early |pade-macros| module. > > > 4 — |spgcd| (len / matrix) loaded too late > > |spgcd| was in |gcd| (late) but |len| and |matrix| are used by *float, > getopt, linnew, numth, plot, trigo, init-cl, and intl*. Promoted to a > new early |spgcd-macros| module before |simplification|. > > > 5 — |evaluator| (mlisp → |msetq|) must precede |commands| and > |simplification| > > |msetq| is a compile-time macro needed by |comm|, |csimp2|, |inmis|, > |matcom|, |matrun|, |nparse|, |optim|, |suprv1|, |trans2|, |trans4|, > |transl|, and |trmode|. The |evaluator| module is now placed before > |commands| and |simplification|, and those modules gain |:depends-on > ("evaluator")|. > > > 6 — |transm| (tr / maref / maset / def%tr) must precede > |factoring| and |simplification| > > |transm| was in |maxima-language-compiler-macros| which was ordered > after |factoring| and |simplification|. But |algfac|, |nalgfa| > (factoring), |float| (simplification), |linnew|, |newdet|, and > |trgred| all use its macros. The module is now placed at position 15 — > before |factoring| and |simplification| — and those modules gain the > dependency. > > > 7 — |risch| (pair) must precede |utility-macros|, |utilities|, > |trigonometry|, and |miscellaneous| > > |risch| was in |integration| but |pair| is called by |mforma| > (utility-macros), |mutils| (utilities), |series| (miscellaneous), and > |trgred| (trigonometry). |integration| is now placed before > |trigonometry| and |miscellaneous|, both of which gain |:depends-on > ("integration")|. > > > 8 — |display| did not depend on |reader| > > |displa.lisp| uses |def-rbp| from |nparse| (reader module). Added > |:depends-on ("reader")| to |display|. > > > 9 — |miscellaneous| did not depend on |reader| or |integration| > > |gamma| and |nset| use |nparse| macros; |series| uses |risch→pair| and > |schatc→alist-bind|. Added both |reader| and |integration| as > dependencies. > > > 10 — |schatc| (pattern-matching) macros needed by limits, > trigonometry, integration > > |preserve|, |alist-bind|, and |schatchen-cond| are called by |limit|, > |trgred|, and |sin| respectively. |limits|, |trigonometry|, and > |integration| now depend on |pattern-matching|. > > ​ _______________________________________________ Maxima-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/maxima-discuss