On Sep 4, 2009, at 3:40 PM, Raymond Toy wrote:
> Raymond Toy wrote:
> Move fft.lisp to fft-core.lisp, and put this in fft.lisp:
>
> (in-package :maxima)
> (mk:defsystem maxima-fft
> :source-pathname (maxima::maxima-load-pathname-directory)
> :binary-pathname (maxima::maxima-objdir "share" "numeric")
> :source-extension "lisp"
> :components
> ((:file "fft-core")))
>
> (mk:oos "maxima-fft" :compile :verbose t)
>
> Then load(fft) compiles the file and loads it as expected.
Thanks! Not a lot of code I see...
> Maybe we can add the function operate_on_system (or maybe
> keyword :oos,
> like we have :lisp) to call mk:oos. That would give a standardized
> method for packages to do the right thing. But perhaps just using
> load
> as above is just easier to remember and explain to the user,
> leaving the
> (slight) burden on the package writer to handle things appropriately.
>
> Ray
>
I think 'load()' should be used in all cases and the developers
should worry about compilation. There are already many features of
Maxima, that most users don't use, because they are not apparent
enough (to_poly_solve comes to mind..).
In fact I think all (lisp?) packages should be compiled on first load
() - compiling gives us 2 advantages - fasls load faster (no
parsing..) and also give better speed. The only thing one could be
improve, would be the interface to 'mk' to make it easier to use for
the developers... Maxima could even use it 'implicitly'.
Regards,
Ziga