Hello
Electronic translation from Spanish
The Maxima interface is a SHELL with numbered inputs and outputs. I think it would be very important for MAXIMA to import a script in linear text format
for example
(%i1) (-3)^2
(%i2) -3^2
(%i3) -(3^2)
(%i4) solve((x^2-1) = -3)
for which MAXIMA is required to export a shell-like text file, it can have the extension .smx, this file would also export the output
(%i1) (-3)^2
(%o1) 9
(%i2) -3^2
(%o2) -9
(%i3) -(3^2)
(%o3) -9
(%i4) solve((x^2-1) = -3)
(%04)[x = (i*square root(2)),x = ((−i)*square root(2))]
Of course, when importing this file, the results or outputs are ignored.
The student can use this file without using maxima to write expressions and their possible solutions, and then compare them with the computational results.
It can also be used by the teacher to bring a series of scripts to their students and perform them in class with MAXIMA.
and finally upload a MAXIMA script in a printed or digital document, since currently it is necessary to copy and paste the inputs and outputs that MAXIMA returns line by line or take screenshots, but the latter do not allow copying the input expressions.
Hi, thanks for your interest in Maxima. It seems like the things you are asking about already exist in Maxima in different ways.
For example, to process a list of inputs in a text file, you can say:
batch("myinputs.mac");
Or, to compare calculated outputs to expected outputs, as specific in the input file (so the input file contains pairs of expressions, an input and an output), you can say:
batch("myinput.mac", test);
The interactions you sketch out are pretty broad, and implementing all of it might be a pretty large project. If you'd like to pursue this topic, my advice is to bring it up on the Maxima mailing list. See: https://sourceforge.net/projects/maxima/lists/maxima-discuss
Additional remark: you can create a file with the inputs using
stringout("myinputs.mac",[first,last]);
where first is the first input (e.g. 1) and last the last input number, you want to save.
That file can then be read in using
batch()
.