You might have noticed the thread on immediate vs. delayed evaluation in the Help forum.
The outcome is that with 3 lines
lisp procedure formimmediate(s,vl,m);
form1(reval cadr s,vl,m);
One can provide an evaluation model similar to Mathematica's "immediate evaluation," where certain functions in procedure bodies are evaluated at the definition time of the procedure.
I think this is of general interest whenever one works with slow functions the results of which are input to further processing. Besides QE, Gröbner basis computations would be an example.
I would now like to add my 3 lines to the development system, and I would be willing to maintain and further develop this when serious users discover problems.
Question: Where should it go?
* Redlog would be easy for me but unnatural.
* Another package "immediate" would be one option. How do you feel about many small such packages?
* I think it would actually fit somewhere into the rlisp module. But who is supposed to modify these modules?
Firstly it would seem silly to imagine this being a separate module. Apart from anything else it should always be loaded. I would have put it in alg/reval.red which is where things to do with evaluation seem to sit, but before finalising I would do one further scan through to see what else could count as very much like it. I think of rlisp as syntax not really algebra or simplification models, whihc is why I do not think it belongs there even though you implement it using a formfn.
Any developer who can check things in to sourceforge has the power to check things in ANYWHERE in the tree. And for both bug-fixes and add-ons like this I think that OF COURSE any developer can check in new stuff. The converse would lead to a frozen system and that is not at all waht we want!
I think that more care would be needed before altering the behaviour of an existing bit of the code in ways that could break any current usage, or widespread re-work - each of those might need to be developed in a branch and marged back when fully tested... But something like the change you are talking about now looks useful and utterly unliable to hurt anybody else (unless somebody else has a procedure called "immediate"!) so go for it! Arthur
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.