Motivation : see this ask.sagemath.org question 
<https://ask.sagemath.org/question/43258/is-there-a-way-to-start-a-sage-session-from-a-session-of-its-python-interpreter/>
.
Tl;dr : I want to call sage from the R reticulate 
<https://github.com/rstudio/reticulate> package in order to create mixed 
text/R/Sage documents. 

   - I am aware that Sagetex allows this, at least when using Sage's R in a 
   \LaTeX document.
   - But this solution doesn't extend to noweb Markdown documents, which 
   are more and more in demand (Web pages, ebooks, other interactive gadgets).
   - I have checked that the \LaTeX--> Markdown/whatever conversion 
   currently doable with pandoc or similar tools is cumbersome to the extreme 
   and/or loses a lot of information.

Done so far : when used as the "Python" interpreter, Sage starts a Python 
session of its own interpreter (i. e. doesn't start the usual IPython 
session). The various environment variables are correctly defined.

Thanks to Thierry Monteil, I have been able to create this Sage IPython 
session, with correct initialization (preparsing, imports, etc...). I have 
checked that this session can access  R objects, and that the R session can 
access objects created in Sage.

But this is insufficient :

   - The Sage session does not (re-)starts automatically : one has to 
   explicitly call IPython.embed(). Not a problem when tran manually ; 
   problematic for the intended use (creating Sage code chunks in a noweb 
   document).
   - To get back to R, you have to exit twice : from the IPython session 
   then from the Python session. Again not a problem in interactive use, again 
   a serious problem for the intended use.

So the question is : how can one *replace* the Python REPL  with Sage's ? A 
serious look at $SAGE_ROOT/src/sage/repl/ipython_extension.py wasn't 
specially enlightening...

Any ideas ?

[ Note that this answer is necessary to the "right" function, but not 
sufficient : the name of the Python object interfacing Python to the 
**calling** R session is, unfortunately "r". Which is the standard name we 
have picked for our **called** R interpreter... So some r-handling will be 
necessary from reticulate's side. Keeping the distinction between those may 
be necessary (e. g. : reusing old code...).
But I feel that asking for a patch has better chances if we "do our 
homework first", by solving *our* side of the problem *before* asking for 
help... ]

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