[IPython-dev] integrating with Cadabra computer algebra system

Fernando Perez fperez.net at gmail.com
Mon Nov 25 14:40:35 EST 2013

One more reference... The author of IHaskell, Andrew Gibiansky, did a
terrific job explaining the design of the system as he reverse-engineered
it from our docs and the code of IJulia. I highly recommend this to anyone
wanting to implement a new kernel for the IPython architecture:




On Mon, Nov 25, 2013 at 11:11 AM, Gabriel Becker <gmbecker at ucdavis.edu>wrote:

> I am not a core IPython developer, but if I understand you correctly what
> you want is a Cadabra kernel.
> Which kernel is used when running IPython dictates how code is handled.
> The (AFAIK) up-to-date and authorative specification for the design of the
> kernel architecture and what a kernel needs to accept and return is here:
> http://ipython.org/ipython-doc/stable/development/messaging.html#messaging
> Other than that, this<http://nbviewer.ipython.org/4279371/node-kernel.ipynb>purports to explain the construction of a new IPython kernel in the context
> of node.js, but I am not the author and make no claims as to its
> currentness or correctness:
> There is also the IJulia kernel, which I believe was constructed by the
> Julia folks in direct collaboration with (some part of) the IPython team:
> https://github.com/JuliaLang/IJulia.jl
> Hope that helps.
> ~G
> On Mon, Nov 25, 2013 at 10:50 AM, Kasper Peeters <
> kasper.peeters at phi-sci.com> wrote:
>> Hi,
>> I am the author of Cadabra, an open source computer algebra system for
>> tensor computations in field theory,
>>    http://cadabra.phi-sci.com/
>> This system currently has its own notebook-based GUI and its own
>> (restricted) programming language. I am considering switching the
>> language to Python, and also thinking of using IPython for the GUI, to
>> take some of the load off my shoulders.
>> However, I would like the notebook interface to retain the capability of
>> accepting pure Cadabra expressions into an input cell, and have those
>> evaluated using Cadabra rather than Python. I know IPython has the
>> ability to evaluate input cells which contain e.g. R code, but that
>> always seems to require a magic '%' bit at the beginning of a cell.
>> So my question: is there a good way to extend the functionality of the
>> IPython notebook interface so that it allows me to set the input cell
>> type to non-python in a graphical way (e.g. pick from a menu), or
>> perhaps depending on some clever scanning of the input? If not, would
>> you be open to patches from my end? Anyone else here having struggled
>> with a similar problem? (e.g. to use the IPython interface to drive a
>> different computer algebra system and not wanting to put '%'s all over
>> the place?).
>> Thanks for the help.
>> Cheers,
>> Kasper
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
> --
> Gabriel Becker
> Graduate Student
> Statistics Department
> University of California, Davis
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

Fernando Perez (@fperez_org; http://fperez.org)
fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)
fernando.perez-at-berkeley: contact me here for any direct mail
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20131125/205d9772/attachment.html>

More information about the IPython-dev mailing list