<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 5 July 2013 20:28, 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">Scientists and data analysts are already doing branching in their work, but they don't have any good tools to record or describe it that way. So they comment out large blocks of code in linear scripts, or they save old attempts and alternate approaches in separate files, or they (hopefully not) simply delete or overwrite old parameter configurations with new ones when they decide the old one wasn't right. Not because they think these are good ideas, but because its all they have available and they are scientists/analysts. </blockquote>

</div><br></div><div class="gmail_extra">This is a fascinating idea, and I look forward to seeing it developed. I can certainly think of cases where I could use it in my own work, although I don't think I'd ever preserve every dead end I tried in alternative cells - it would be far too much clutter.<br>

<br></div><div class="gmail_extra">That said, I don't think this is something we should be building into IPython at the moment. As I see it, the notebook that we build is actually quite a low-level tool, like a word processor for code. By which I mean that we give users a blank canvas to create their own work, rather than a consciously designed framework into which to slot their code. For instance, while it's clearly sensible to show cells in execution order, we do nothing to enforce that.<br>

<br></div><div class="gmail_extra">But I do think that we should try our best to support other people who want to build higher-level tools, like your branching code system, on top of IPython. I confess I haven't read through what everyone's said above, but I hope we can find a good way for you to do that and have it work as well as possible with the kernel, the notebook format, nbviewer, etc.<br>

<br></div><div class="gmail_extra">Best wishes,<br>Thomas<br></div></div>