Vitalije has been looking into enhancing (somehow!) Leo with rust. This is a worthy project, for several reasons, which need not be listed here.
*Project champions never need my permission* to follow their dreams. Indeed, a champion is someone who persists in a dream despite indifference or even resistance from others. This post explores various constraints on the final result of prototyping. Let's use the "you can do this if" guidelines. Leo can work with rust if: 1. Distributing Leo doesn't become substantially harder. Not sure what this means. In any case, we can ignore this constraint during prototyping. 2. Leo continues to use Qt for its gui. Again, this constraint can be ignored during prototyping, but it should be taken seriously. Imo, adding rust wrappers for the (C++) Qt code is something that the Qt people themselves might well offer. Or the same effect might be gotten in other ways. If not, rewriting leo.core.leoQt in rust would likely suffice. So this will not likely be a gotcha. 3. All parts of Leo continue to work unchanged. This includes the python api. I believe this is feasible, despite rust being less "dynamic" than python. I've said several times that Leo's flexibility does not derive from python's dynamic nature. For example, @command, @button and all the rest do not depend on monkey-patching Leo's classes. The "dynamism" of @button happens just by creating new entries in tables. That can be done in any language. Likewise, adding a plugin just adds to existing data structures. Adding a rust plugin would likely be feasible using a python wrapper around the rust code. Or some other way. There are a few places where Leo's code does monkey-patch code, but they aren't gotcha's. The same effect could be gotten in other ways. *Summary* I have listed several constraints on integrating rust with Leo's python code base. All are subject to revision. I see no gotchas. Have at it! 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/leo-editor. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/87fbf3c1-94c3-40d1-9681-45a7e7ed202e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
