Re: Updating defsystem dependencies
Barton Willis via Maxima-discuss <[email protected]>
| Newsgroups | gmane.comp.mathematics.maxima.general |
|---|---|
| Message-ID | <SN6PR07MB7952E7A14F48E0BA5A26E4A8B6222@SN6PR07MB7952.namprd07.prod.outlook.com> |
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. --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