Dion is our initiative to create a better future for programming. Our approach is focused on deconstructing and studying the architecture of our current ecosystem, and using what we learn to assemble a new ecosystem. We achieve this end by a mixture of prototyping, developing, researching, and theorizing. The output from this project ends up in talks, blog posts, libraries like Metadesk, and someday, technical specs.
If you saw the demo at Handmade Seattle 2020, or any of the GIFs that we posted in 2020, you might have the impression that Dion is a language, compiler, and/or editor. Back then, that was the entirety of the project. That demo was a language, compiler, editor, and new file format all rolled into one. But since then, the Dion project has come to mean a lot more to us.
No. We have not released any such tools, because we are still doing research and development on the Dion Format itself.
While there may be some opportunities for conversions between structured text and the Dion Format, the format and its tools will not be a way to work with existing text code as if it is not text.
We expect to publish many things as open or open-source, most notably the Dion format specification itself. We also plan to release our metaprogramming utility Metadesk under the MIT license. We have not decided the answer to this question for all code we write as part of the Dion project; some projects we work on may be open-source, or they may be closed-source.
Integrating with existing programming workflows is crucial when developing programming tools. However, the goals of Dion make this challenging. That being said, we hope to integrate with existing version control systems to the extent that we can, using custom diff and merge utilities for the new format. The diff and merge implementation will obviously not take the same form as it does with text files (one possible avenue is a graph-based diff), but this does not prevent us from, for example, working with Git. More details will become available as we get further in our research and development.
Metadesk is an open-source tool that we developed for metaprogramming, data generation, and code generation. The name "Metadesk" really applies to two things: A data description language, and a library that we developed for working with that language. That library includes utilities for parsing strings of the Metadesk language to an abstract syntax tree, introspecting on those abstract syntax trees, doing code generation, and more.
These projects are only related in the sense that Metadesk is helping us build the Dion Format, and both projects are being built with a very similar philosophy. Metadesk is not the Dion Format, it is purely a utility that is quite helpful within a text-based software architecture.
The Dion team is currently comprised of three part-time volunteers who work on the project in our free-time. We do not make any money from Dion right now, and we will continue to work on it as volunteers for the time being. Our future plans for a business model are to-be-determined, but we know that much of our work will be public and open.