I am a semi-regular contributor to Leo (mostly I complain to Leo's patient creator). I can clear up what Leo
is, but not by telling you what it is rather what it gives you. Leo gives you the tools to build organization around information. For many, the information is code and code bases
. Leo's code base is itself generated from Leo. You can send information into Leo, for example you can import code into Leo from just about any programming language and Leo will chop it up into an outline (the mentioned directed acyclic graph) for you based on the syntax of the language itself. You can generate files from Leo, for example you can generate a source code file from an outline.
For programmers, Leo gives you a way to add arbitrary levels of organization to code. With that come the tools to navigate through the organization you've created. Leo contains millions of lines of code and without Leo to organize it the code base would have crumbled under its own weight ages ago. But it hasn't and now has been under development in Python for 15 years. This is because the structure you can create with Leo provides a global view of your code and allows you to dig down to a single line and see how that line exists in relation to the entire code base. Leo has fantastic search capabilities, different and better than most other tools. If I need to dissect an unfamiliar code base Leo is one of the first tools I turn to.
But this organization is not in any way limited to code. The information you organize can be anything. Leo is great for managing projects. I use Leo daily in my professional work to organize hundreds of json and xml files representing work done over a period of years. I have near instantaneous access to files and can identify work done at any point, my colleagues are bewildered by my "memory" and how I manage so much information. I've told them about Leo but they still for some reason think I have some special ability.
Still others use it to organize their thoughts, whether that be: their life, writing, notes, etc. Leo is not a unique tool for any of the actions described but its foundations are now so strong that it makes it a great tool for these purposes. One of the most exciting aspects of Leo is that it doesn't exist in a bubble, it can take in the world and spit it back out again. Leo is slightly biased towards Python because that is the language it is developed in but for the most part Leo remains language agnostic. I have used Leo to help me structure assembly language to great effect.
I encourage the Eve developers to open LeoPyRef.leo, Leo's code base. It may provide some insight into how powerful the organization can be. I've only just begun to explore the concepts and design behind Eve and it really seems promising and tries to address many of the same challenges that Leo tries to address. I'm excited to see where Eve goes and look forward to trying it out myself for inspiration and hopefully someday as a powerful tool.