Comments about FFT PATCH ready



Raymond Toy wrote:
> ?iga Lenar?i? wrote:
>   
>> Something like this is what I meant by Maxima specific tool - that  
>> takes care of writing and loading fasl from some location. 'mk'  
>> system needs 2 additional files afaik - so that is a lot of files if  
>> it would be used across 'share'...
>>   
>>     
> I haven't tried it, but fft.lisp could easily include a defsystem for
> fft, and run (mk:oos "fft" :compile), instead of the ad hoc scheme I
> implemented for fft.
>   
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.
> This would give a nice uniform way of handling all of these issues,
> especially the location of where the fasls should be stored.
>   
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