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|.
>
>
&#8203;

_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.