<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jan 26, 2014 at 5:19 PM, Gabriel Becker <span dir="ltr"><<a href="mailto:gmbecker@ucdavis.edu" target="_blank">gmbecker@ucdavis.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Doug,<br><br>This looks very interesting (no love for R though? :( ). Nice work.<br><br></div>
</div></div></blockquote><div><br></div><div>So, this system is a collection of all of the languages that we can run on a VM (like Mono and .NET's CLR or JVM; we use IKVM to move bytes from one VM to the other). So, if you know of an implementation of R for one of the virtual machines, we'd gladly use it.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div></div>Have you considered differentiating the languages by the cells/messages themselves, rather than directvies within the cell's contents?<br>

<br>I have always thought that code language would be better as an attribute of the code itself and a distinct part of the message sent. The magics work the way they do because technically they are still IPython code, and are evaluated with the IPython evaluator. If your kernel is doing the dispatch to different evaluators itself, though, there is no need to stick to that paradigm.<br>

<br></div></div></blockquote><div><br></div><div>You are absolutely correct that this is a concern, especially for use with those metacommands that change global state. If you rearrange the cells, you might be in a different state (ie, language) and then it fails. In our own IDE, we keep track of shell history, and keep the executing language at the time with it.</div>
<div><br></div><div>In reality, jumping from one language to another is not yet the norm for many programmers (unless one of the languages is bash). Also, I would only be interested in considering such an option if there were developed a standard API in IPython for the kernel to talk to the frontend, and an API for setting/getting cell values. We hope that our kernel will be part of the IPython ecosystem.</div>
<div><br></div><div>-Doug</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>Just my 2 cents.<br></div><div>~G<br></div><br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Sun, Jan 26, 2014 at 12:58 PM, Doug Blank <span dir="ltr"><<a href="mailto:doug.blank@gmail.com" target="_blank">doug.blank@gmail.com</a>></span> wrote:<br>

</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>On Sun, Jan 26, 2014 at 3:28 PM, Brian Granger <span dir="ltr"><<a href="mailto:ellisonbg@gmail.com" target="_blank">ellisonbg@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Doug,<br>
<br>
Awesome, thanks so much for sharing this! I had a quick look. I really<br>
like the :lang abstraction, especially how it is stateful when run in<br>
a cell by itself. It will be fun to watch where this goes. Having<br>
learned to program with logo, I am especially interested in seeing<br>
where that goes. Have you been able to get the pyout and display_data<br>
messages working for rich output?<br>
<br></blockquote><div><br></div></div><div>Thanks! Actually, I am trying to figure out how display_data and rich messages work right now. I see the mime-type keys in the data dictionary, but having some trouble figuring out how they get there from a function wrapped around a value. Is there an overview that describes the approach? Or maybe you can point me to the relevant code? I suspect that the Python kernel side of things has a nice infrastructure... but what is the simplest approach just as proof of concept to get, say, a gif to appear in the notebook?</div>

<span><font color="#888888">
<div><br></div><div>-Doug</div></font></span><div><div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Cheers,<br>
<br>
Brian<br>
<div><div><br>
On Sun, Jan 26, 2014 at 11:40 AM, Doug Blank <<a href="mailto:doug.blank@gmail.com" target="_blank">doug.blank@gmail.com</a>> wrote:<br>
> Just a quick status update on a new kernel. Once I got the simple_kernel.py<br>
> [1] written and understood, at least to a level, we were able to make fast<br>
> progress (a few afternoon hacks) on the real project. This new kernel is<br>
> written in C# [2], but is really a wrapper around a set of languages,<br>
> including Java, Scheme, Boo, Logo, Python, Ruby, Basic, and some others,<br>
> including an assembly language.<br>
><br>
> Not only can you run all of these via notebook, console, and qtconsole, but<br>
> many of the languages share data and functions with each other. Here is a<br>
> pointer to a top-level notebook (refresh, as it is changing quickly):<br>
><br>
> <a href="http://nbviewer.ipython.org/urls/bitbucket.org/ipre/calico/raw/master/notebooks/Calico%20Overview.ipynb" target="_blank">http://nbviewer.ipython.org/urls/bitbucket.org/ipre/calico/raw/master/notebooks/Calico%20Overview.ipynb</a><br>



><br>
> Still a lot to do, but just wanted to point to recent results, and say<br>
> thanks for the help so far!<br>
><br>
> -Doug<br>
><br>
><br>
> [1] - <a href="https://github.com/dsblank/simple_kernel/blob/master/README.md" target="_blank">https://github.com/dsblank/simple_kernel/blob/master/README.md</a><br>
> [2] -<br>
> <a href="https://bitbucket.org/ipre/calico/src/master/Source/Calico/ZMQServer.cs?at=master" target="_blank">https://bitbucket.org/ipre/calico/src/master/Source/Calico/ZMQServer.cs?at=master</a><br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> IPython-dev mailing list<br>
> <a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
> <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
><br>
<span><font color="#888888"><br>
<br>
<br>
--<br>
Brian E. Granger<br>
Cal Poly State University, San Luis Obispo<br>
<a href="mailto:bgranger@calpoly.edu" target="_blank">bgranger@calpoly.edu</a> and <a href="mailto:ellisonbg@gmail.com" target="_blank">ellisonbg@gmail.com</a><br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</font></span></blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br>Gabriel Becker<br>Graduate Student<br>Statistics Department<br>University of California, Davis<br>
</font></span></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br></div></div>