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.

Reply via email to