jFriCASΒΆ

https://github.com/fricas/jfricas

jFriCAS is a Jupyter kernel for FriCAS, i.e., it makes a Jupyter notebook frontend for FriCAS possible.

When a Jupyter notebook of type FriCAS is opened, jFriCAS starts a new FriCAS process and a webserver (Hunchentoot).

Starting with FriCAS 1.3.9, the Hunchentoot webserver is included in the binary distribution for Linux (fricas-x.y.z.amd64.tar.bz2).

In fact, jFriCAS makes FriCAS behave like a webserver, i.e., responding to GET and POST requests.

On the Python side these GET and POST requests are handled by the requests library inside the wrapper kernel fricaskernel.py. To put it in a nutshell, jFriCAS essentially comprises three files which have to be installed:

Kernel spec:kernel.json
Wrapper Kernel:fricaskernel.py
Web service:webspad.lisp

Cell input input in the Jupyter notebook is taken by fricaskernel.py and sent via webspad.lisp to FriCAS (running behind a webserver). Output from FriCAS is collected by webspad.lisp and given back to fricaskernel.py where it is analysed and transformed into an output format that the Jupyter notebook understands, and thus eventually displayed.

FriCAS allows different output formats. jFriCAS supoorts 2D and TeX output formats.