Here is a part of a conversation I had with Claude:

Me
----

In some ways I think of Python as being an evolution of Pascal into a more 
practical, powerful language.

Claude
----------

That's an interesting observation. There are real parallels:

*Pascal's strengths that Python inherited:*

   - *Readability as a design goal:* Pascal was designed to teach 
   programming clearly. Python kept that philosophy—code should be readable 
   and intent should be obvious.
   - *Simple, clear syntax:* Pascal had straightforward control flow and 
   structure. Python does too—if, for, while, indentation for blocks. No 
   cryptic operators or magical behavior.
   - *Strong but not restrictive typing:* Pascal enforced types but let you 
   work with what you needed. Python has dynamic typing but lets you be 
   precise when you want (type hints).
   - *Practical orientation:* Pascal wasn't trying to be theoretically 
   pure; it was trying to be useful. Same with Python.

*But Python went further:*

   - *Pragmatic paradigm mixing:* Pascal was procedural with some OO bolted 
   on later. Python said "use what fits."
   - *Massive standard library:* Python gave you tools for real problems, 
   not just language features.
   - *Community and ecosystem:* Python built momentum and libraries that 
   made it practical for everything from scripts to production systems.



On Thursday, November 20, 2025 at 6:58:40 AM UTC-5 Edward K. Ream wrote:

> On Thursday, November 20, 2025 at 4:56:27 AM UTC-6 Edward K. Ream wrote:
>
> This gemini3 conversation <https://gemini.google.com/share/1b94fa0d0276> 
> asks for help in improving #4478 
> <https://github.com/leo-editor/leo-editor/issues/4478>, the documentation 
> for rst3 filters and half clones. Note that I started with new writing not 
> contained in #4478.
>
>
> Wow: Here is the latest result. It's way better than the first, second, 
> and third drafts:
>
> All clones of the same node share the same VNode, and thus they all have 
> exactly the same headline, body text, and children. Therefore, changing p.b 
> or p.h, or adding a child to one clone modifies the underlying VNode, 
> reflected instantly in all other clones.
>
> However, Leo's users often request a vague enhancement informally known as 
> "half clones." We can make this ill-defined notion precise by saying that 
> we often want to treat clones differently depending on *context*, the 
> *Position 
> *of that clone within the entire outline.
>
> It's easy to use positions to tailor the handling of each node. Something 
> like this:
>
>     for p in c.all_positions():
>         parent = p.parent()
>         if not parent:
>             continue
>         sib1 = p.next()
>         sib2 = sib1 and sib1.next()
>         case1 = sib1 and parent.h == 'context1' and sib1.h == 'y'
>         case2 = sib2 and parent.h == 'context2' and 
> sib2.b.startswith('@foo')
>         if case1:
>             << handle case 1 >>
>         elif case2:
>             << handle case 2 >>
>
> *Summary*
>
> I got a bit annoyed at the pickiness of some of the suggestions, but in 
> retrospect they were spot on.
>
> Illustrating how to use the context of potentially cloned nodes is worth 
> any amount of work. The example above is a template for tailoring (cutting, 
> pasting, modifying) snippets of documentation that appear in different 
> *documentation* contexts. This is a challenge posed by Kent Tenney many 
> years ago.
>
> 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 view this discussion visit 
https://groups.google.com/d/msgid/leo-editor/4434456b-c613-424a-babc-5529c5eb0f65n%40googlegroups.com.

Reply via email to