On Dec 2, 5:01 pm, rjf <
fate...@gmail.com> wrote:
> In the Maxima environment, if someone detects an error in a lisp
> function, FF then the function
> can be replaced in the run-time environment, e.g. at a command line
> (%i100) by:
> :lisp (defun FF(x y z) <newdefinition>)
>
In the Python environment, if someone detects an error in a Python
function FF, then the function can be replaced in the run-time
environment, e.g. at a command line by:
>>> def FF(x):
... return 2*x
...
>>> print FF(2)
4
# FF is wrong, now correcting:
>>> def FF_correct(x):
... return 3*x
...
# and replacing
>>> FF = FF_correct
>>> FF(2)
6
>
> If the replacement works, the replacement (or a command to load the
> compiled version from a file)
> can be place in an initialization file so that the next time Maxima is
> loaded, the fix is automatically loaded.
That also holds for Python, but we tend to modify the source code
directly. Then the underlying version control system is used to
extract a patch that represents the modifications. Those patches can
be uploaded to our issue tracker for review, etc.
> ... such fixes
> took effect for all users. Maybe such a setup could be used for the
> web-based access to Sage.
That's in the planning stage for Sage. Collaborative environments for
development would foster even more contributions to the Sage project!
> (It's kind of interesting to realize that this idea -- of users
> accessing a time-shared or networked-access
> computer to use a math system -- was standard between say 1966 and
> 1980, and continued on for some time..)
> (In the years after 1980 some 50 VAX-Macsyma test sites were set up,
> and later the program was sold etc.)
Yes, it's "interesting". But personally, I tend to see this as a
probably erroneous break in the overall trend. In the 70ties the
social focus was still on a group, the 80ties focused on the
individual. In music, art, personal computing and more the people were
seen as individuals, not as part of groups. Often, there were
commercial interests behind - more PCs sold, more operating systems,
single artists pushed (pop idols), ... Internet and social
applications bring people back together since 2000. That's an
important trend for collaboratively developed software, especially
free/open source software.
>
> I think that compiling all of Maxima typically takes between 10
> minutes and an hour
We appreciate these rather short compilation times, since it is part
of Sage's compilation process.
H