I watched the recent "Python: The Documentary" film 
(https://www.youtube.com/watch?v=GfH4QL4VqJ0) recently, and enjoyed it a 
lot. I have been programming in Python since around 1999, and the history 
walked through the features and libraries that have been developed since 
then, in a way that closely mirrored my sideline observations. There's a 
comment (from Brett Cannon, I think), which exactly matches my experience: 
"I came for the language; I stayed for the community"

But anyway ... this started with a little bit on the original language ABC, 
which Guido developed one Christmas into Python. I would like to know a 
little more about what he kept, threw away, extended etc. at that point. 
There was a brief interview with one of Guido's ABC colleagues/mentors, 
where he says (paraphrasing) "I didn't get what he was doing or why"; I am 
curious about what this says about any underlying philosophies.

On Friday, November 21, 2025 at 6:22:07 AM UTC [email protected] wrote:

> 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/3009123f-df9b-4dc6-83ef-0b2bb149db32n%40googlegroups.com.

Reply via email to