I have enjoyed taking a break to look at broader issues. My conclusions:


I want to create new, Leonine, tools for studying and adapting code. I am 
most interested in studying pyzo's gui code and Leo's key-handling code. 
The goal in each case will be to simplify and improve the corresponding 
code in Leo.


Initially, such tools are likely to be bespoke scripts. Later, these 
scripts *might *evolve into Leonine commands.


The tools themselves will likely be the primary product of the work. There 
is no guarantee that Leo's code will ever change.


*Initial ideas*


How could we meld Leo's and pyzo's code bases? We could start with Leo's 
code, or pyzo's code, or we could start with a clean slate. Each way has 
advantages. For example, we could investigate snippets in code in what 
amounts to a unit test.


We can think of Leo outlines as an "executable" graph. Bespoke scripts 
would define "meaning" and "appearance" of this graph. Other scripts could 
define *projections* of a Leo outline onto another (part of) the Leo 
outline. For example, a script, similar to Leo's clone-find or find-all 
commands, might summarize the messages which pass between pyzo's gui code. 
The summary would appear as a single node (find-all) or a tree of nodes 
(clone-find).


By default, pytest presents its coverage data as a single html page. It 
might be possible to restructure that data by Leo nodes.


*Summary*


Melding code bases is difficult to impossible :-) It's a juicy problem, for 
which Leonine scripts have unique advantages. Scripts can define *projections 
*of an outline. Such projections distill information and might form the 
basis of still more scripts.


Absent significant new tools, the Leonine and pyzoic code bases will likely 
remain separate. Only strong scripts, similar to unit tests with full 
coverage, could ensure that changes to Leo's code won't subtly alter the 
meaning of existing settings and appearance.


Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/1b9af5f8-1480-48ea-969e-4d214059bd59%40googlegroups.com.

Reply via email to