[IPython-dev] ipython notebook installation instructions

Fernando Perez fperez.net at gmail.com
Thu May 31 14:56:51 EDT 2012


On Thu, May 31, 2012 at 11:49 AM, Brian Granger <ellisonbg at gmail.com> wrote:
> I think there are some other issues we have to be careful about:
>
> * Implementing it purely in the kernel would possibly break the
> terminal and qtconsole as they rely on input splitter to make
> decisions for the frontend.  Our transformation pipeline is actually
> quite complex in that code goes through multiple passes of the input
> splitter for static transformations and then the prefilter for dynamic
> ones.

Not quite:  these clients actually instantiate their own inputsplitter
object, so they are using the same *library* as the kernel, but not
the same *object*.  What this does mean is that if somebody implements
a kernel with highly customized input logic, they can't expect the
default IPython clients to play nicely with it, they will need to also
write custom clients.

But that seems fair to me: if you deviate a lot from the default
semantics and you're working with a system that has both clients and
servers, you need to ensure your new semantics are handled
consistently everywhere.

> * This further opens the door for the notebook to support other
> languages.  People will want things like tab completion, syntax
> highlighting, tooltips, etc to work.  This will require some very
> careful thinking because I am not sure we want to make IPython fully
> multi-language aware.
>
> This is really important though and we need to think about these things.

Yes, the multi-language support does open some pretty delicate issues
from the client side, if we want to do it system-wide.  With custom
cells like we have right now with Cython and R the problems aren't too
severe (though already tab completion and highlighting will be wrong
in those cells), but if we want to do it system-wide, it will indeed
require some very careful thought.

Cheers,

f



More information about the IPython-dev mailing list