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.

Reply via email to