Thanks for this encouragements to experiment with Leo in new directions. At some point I plan to retake the Pharo Chronicles, but I think that Leo/Grafoscopio integration would be done at file reading level. I would like to read some Leo outlines from Grafoscopio.
Cheers, Offray On 6/07/19 12:04 p. m., Edward K. Ream wrote: > 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] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[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 > <https://groups.google.com/d/msgid/leo-editor/87fbf3c1-94c3-40d1-9681-45a7e7ed202e%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout. -- 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/32aa6dd0-1d4a-8e7a-081b-a2508f9898b7%40riseup.net. For more options, visit https://groups.google.com/d/optout.
