Thank you for your example of programming-as-teaching vs programming-as-carpentry. Do you know of or maybe you've written something more in depth showing in detail examples how to build something using programming-as-teaching vs programming-as-carpentry?
I don't know of a succinct description of the process off the top of my head. Maybe I or another Lisper or Smalltalk should write one.
There are a few videos floating around the net that demonstrate some aspects of this style of work. Some are ancient promotional videos, like Symbolics people showing how to interact with a Lisp Machine. There are also a few more recent ones--for example, there are a couple of videos that Rainer Joswig made showing various interactions with Lisp systems.
Those videos don't really do the subject justice, though. They're short, and they show off one or a couple of nifty features, but programming-as-teaching is a whole-system approach, and it's hard to grasp it without comprehensive exposure to the whole of the system, and how the parts fit together.
I think that contributes to the obscurity of the subject: not only do few programmers get any exposure to these systems, but small exposure isn't really enough to explain what's distinctive about them. You need a pretty thorough exposure to the whole system and how its parts work together to understand what the deal is.