On Tuesday, 25 December 2018 14:55:02 UTC-7, Timo Kaufmann wrote: > > Am Dienstag, 25. Dezember 2018 22:46:22 UTC+1 schrieb Nils Bruin: >> >> Perhaps for reference, maxima_lib can only be instantiated once and, >> since sage.interfaces.maxima_lib is only referenced at start-up via >> lazy_import (which has its own problems), the instantiation happens upon >> import of sage.interfaces.maxima_lib: >> >> sage: import sage.interfaces.maxima_lib >> sage: sage.interfaces.maxima_lib.MaximaLib() >> RuntimeError: Maxima interface in library mode can only be instantiated >> once >> sage: sage.interfaces.maxima_lib.maxima #already instantiated >> Maxima_lib >> >> The pexpect interface, on the other hand, can be instantiated as much as >> you want, and separate instances are *not* equal (and they shouldn't be, >> because generally they would be in quite different states): >> >> sage: M1=sage.interfaces.maxima.Maxima() >> sage: M2=sage.interfaces.maxima.Maxima() >> sage: M1 == M2 >> False >> >> I would say it would be reasonable to have R_lib follow the same pattern. >> If it is deemed that maintaining a pexpect interface to R is not >> worthwhile, then that's a separate decision. >> > > Currently the R instance (which is in the global namespace by default) is > initialized lazily on first use. The pexpect interface doesn't exist > anymore. >
Given maxima example, I think that indeed the new interface should be renamed into R_lib (or RLib?) with the same behaviour, while R() should be a deprecated alias to it explaining what has happened. It is a bit unfortunate that the change has already happened and 8.5 has "silent replacement", but there are plans to release 8.6 soon, if I understood things correctly. To be clear - I do not volunteer to do this, but perhaps for Timo it will be easy after all the great work he has already done on this interface ;-) -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.