[IPython-dev] Leo, IPython and the summer of code

Fernando Perez Fernando.Perez at colorado.edu
Tue Jul 5 17:26:04 EDT 2005

[ aside: Hans, are you subscribed to ipython-dev?  I'm still getting 
auto-discard notifications from your emails.  I want to make sure your setup 
is Ok, just contact me off-list if you keep having problems ]

Hans Meine wrote:
> On Tuesday 05 July 2005 19:55, Hans Meine wrote:
>>I must be dreaming.  I *will* investigate what Leo offers.  It feels
>>strange to me that there are such large gaps (/missing links) in the world
>>wide "web", that things like IPython and Leo can remain undiscovered.

Well, a response to this is simply that there is only a finite amount of time 
to be spent learning about tools out there :)  I was aware of leo's existence, 
but I thought it was mostly an 'outliner on steroids'.  From Ed's email, it 
seems it also cures AIDS and solves world hunger, so I must have missed some 
of its capabilities :)

Joking aside, Robert points out to the key point, which you confirm: as 
scientists (these tools are undeniably biased by our own needs and background 
with tools like Mathematica, though we hope they'll be useful to 
non-scientists), the interactive read/eval loop is critical.

> OK, as Robert already pointed out, Leo is not the solution to all our 
> problems.  I digged through the first tutorials (awfully slow server AFAICS, 
> and little text with screenies for dummies), this is my summary in case 
> someone wants to pick up where I leave it at for now (maybe you get more 
> ideas for the "ideal" notebook interface):
> Leo is an "outline editor" (unfortunately using TkInter, which means I had to 
> install TK, TCL and python again).  To the upper left, you see the outline, 
> an editable tree structure.  You can add, rename and delete nodes as you 
> wish, or even "clone" them; the nodes have reference counts > 2 then and 
> become regular nodes again when you delete all but one instance.
> Each node can have text associated with it, which is displayed in the editor 
> pane below.  This text can be syntax-highlighted code, too.
> Press Ctrl+Shift+F ("Import to @file") to create a special node which imports 
> a source file (e.g. Python, the tutorial uses Java); leo will create a large 
> subtree with classes and methods from that source.  When saving, the tree 
> struture is flattened and saved to the file again.  (In addition to the 
> native .leo files.)  If you change the structure within Leo (e.g. create 
> sub-nodes that do not correspond to classes or functions), the result will 
> contain special comments that Leo can use to re-create the structure from the 
> file.
> Much relies on @directives like the @file above or a @language directive that 
> switches on syntax highlighting for all sub-nodes and tells Leo how to handle 
> the sourcecode stuff mentioned above.
> It's a literate programming tool, and although it looks interesting, it does 
> not seem to be what I hoped it was either.  I think Edward was a little 
> unprecise, too. ;-)  Interesting (domain) name though.. "edream". :-)

Many thanks for this summary, Hans.  I will download Leo and play with it 
later, as I'm sure it may have a number of interesting things to offer, and we 
may well steal/collaborate/integrate with it in the future.



More information about the IPython-dev mailing list