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

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