Hi,
On 17/07/17 12:32, Edward K. Ream wrote: > On Sunday, July 16, 2017 at 10:24:51 AM UTC-5, Edward K. Ream wrote: > > > > developing with @button or @test already simulates instant reload > pretty well. > > Today, right now, Leo devs and script writers can develop python code > /more /easily in Leo than in SmallTalk. > > After more thought, the first statement seems more accurate :-) Leo > and SmallTalk each have their own advantages. > > Here are step-by-step instructions for developing code in Leo without > having to reload Leo. > Totally agree. I think that Leo is unbeatable in (de)constructing text, particularly programming text, and Smalltalk is particularly well suited at live coding a custom tools. About the workflow, I started with @buttons, because, as an "end user", that was the more approachable step for me, but I didn't know how to pass that to commands or to add test. Having this process more explicit is really useful. In Pharo/Smalltalk, the way you go from first prototypes, to apps, to scripts, to test, is more continuous, which is by no any means Leo's fault, is just a divergence, back from the 70's, about how computing should work in the Unix/OS paradigm, vs Smalltalk/Dynabook one. So Leo gives meta-properties to the indirect world of plain files, while Smalltalk gives meta-structure to the more direct/interactive world of live objects. > > > *1. Create a dev node* > [...] > > *2. Set up your dev node so you can execute it quickly* > [...] > > *2. Define or access the code under development > [...] > * > *3. Create /new/ instances of objects* > > [...] > *4. Run the test, edit, repeat* > > > *Summary* > > @test, @command or @button can be thought of as defining an (almost) > pristine dev environment. This is another way of describing the > Stupendous Aha. > > Dev scripts should create a new, pristine environment every time it > they are executed, using imp.reload as needed. Dev scripts should > always create /new /objects for testing. Dev scripts may use Leo's > core objects provided they have not been modified. > > SmallTalk does most of this automagically. Certainly... Know some other environments are exploring ways to bring live coding and this magic to the files world. > However, dev scripts have their own advantages: > > - Dev scripts can access code using clones. > - Dev scripts can use outlines to organize the code under development. > - Dev scripts form a permanent record of completed work. > - Dev scripts can morph into unit tests. I made that with Grafoscopio, which brings interactive outlining capabilities to the Pharo environment (but without the magic of clones, yet). > - Dev scripts work for Python! > Grafoscopio scripts work in Pharo! :-P > Dev scripts bring most of the advantages of SmallTalk to Leo. The > initial cost of creating dev nodes pays off immediately. > > All comments welcome. > I think that Leo is still far away in the live coding front. I think that the real Leo's jewel is adding meta-referential properties to the flat file world. A non flat and programmable file to read, deconstruct, reconstruct other mostly flat files. Cheers, Offray -- 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 leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.