Hello,

as is probably known, I would like to make the IPython notebook a
frontend for FriCAS.

As I currently understand, there are in principle two ways to achieve this.

(A) using pexpect and communicating with the FriCAS command line (and
    probably heavily relying on ioHook,
(B) adding a zeromq library to FriCAS and thus turning FriCAS directly
    into an IPython kernel.

Method (A) together with recent ipython development
http://ipython.org/ipython-doc/dev/development/wrapperkernels.html
is probably easier to achieve (similar to what was already running in
the SageNotebook). However, I feel that it has some disadvantages,
mainly coming from the fact that (as I understand it now) the flow would go

  notebook --(a)-- K --(b)-- FriCAS

where K would be a kernel (similar to bash ... see
https://github.com/takluyver/bash_kernel) and connection (a) would be
done via zeromq (http://zeromq.org) whereas connection (b) would be with
pexpect (i.e. a simple text interface).

I somehow find (B) more attractive, since it would simply look like

  notebook --(a)-- FriCAS

ZeroMQ looks to me very similar to the socket stuff that we anyway have
in FriCAS only that the messaging protocol would be different.
http://ipython.org/ipython-doc/dev/development/messaging.html
There also seems to exist a library http://zeromq.org/bindings:cl that
could be used.

What do others say? Would (A) or (B) be the better alternative?

In particular for (B), it looks like one would have to hook into
"intloopReadConsole"
https://github.com/fricas/fricas/blob/master/src/interp/int-top.boot#L197 and
add the zeromq messaging for the notebook from there. Who else would
like to get his/her hands dirty (with coding or just with hints of how
to do it) and dive into "turning FriCAS into an IPython kernel"?

Note that in the above scheme one can change "notebook" with
"qt-console".
http://ipython.org/ipython-doc/dev/interactive/qtconsole.html That would
then be an interface that's not running in a browser.

Ralf

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to