On Mon, Dec 24, 2018 at 2:01 PM Timo Kaufmann <eisfre...@gmail.com> wrote:
>>
>> When I last looked, I think the rpy2 interface happens entirely at the C 
>> library level, and there is only one process involved.
>
>
> Yes, that is true. Working at the C level has a lot of advantages, but there 
> is only one process involved. It may be possible to work around this either 
> by introducing multiple R processes upstream or by doing some multiprocessing 
> hackery.
>
>>
>> It's really unfortunately if somebody just deleted the pexpect interface and 
>> replaced it with rpy2.  Instead, I would think both should be supported, 
>> since they have complementary functionality (pros and cons to each)...  Oh 
>> well.
>
>
> That is exactly what I did in https://trac.sagemath.org/ticket/26596. The 
> reason for it was that the pexpect interface was very hard to maintain and 
> near impossible to update to R 3.5. While implementing the rpy2 interface I 
> also noticed that it was broken in various ways, e.g.:
>
> - `r('NaN').sage()`, `r('Inf').sage()`, `r('3i + 4').sage()` all threw errors 
> because parsing failed
> - errors were ignored entirely due to faulty pattern matching (leading to 
> some errors in sage code)
> - `r.help` would block indefinitely when multiple help pages are available
>
> And I would guess there are more. That is why I don't think "maintaining 
> both" is a viable option. The repl isn't meant to be parsed and if we can get 
> someone else to maintain the interface for us (rpy2), that is great.

Just to be clear, I fully support your choice.    By "both should be
supported, since they have complementary functionality (pros and cons
to each)...  Oh well." I mean "I personally think both should be
supported.  However, since I do not have the time or resources right
now to do so, then whoever does have those resources (you) should
decide."   Thank you for taking the time to explain your choices
above, and more about the issues.

 -- William

-- 
William (http://wstein.org)

-- 
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