Until last week, I’d never planted a tree that I can remember. Planting a tree is pretty simple, but the experience was much more interesting than just getting dirt on my knees and under my fingernails. My tree had been sitting in a bucket of water since Arbor Day, waiting for somebody to stick it into the ground. As I knelt in the dirt, with the rainwater soaking through my jeans, I dangled the roots of my little tree into the hole I’d scooped out of the earth. Pouring a little of the water from the bucket, I then broke apart some of the dirt clods I’d pulled out of the hole, dribbling the broken up dirt back into the hole around the tree… and that’s when it hit me.

The tree I was placing would likely be in the place where I left it for many many years. Hopefully not, but perhaps, more years than I would be around. And so what I had done, by pushing this sapling into the dirt? What hit me so powerfully then, was that the tree I was placing was more like a program. I didn’t write the program, but I certainly helped to execute it. I’d clicked on the button that would build a tree. I had instantiated a CherryTree function.

This Cherry tree machine will take a while to compile itself. But it will eventually turn itself into a large stack of cells, rings of bark, and limbs, and leaves, and fruiting and pollenating bits. Beautiful! I’d made a permanent mark on the world that wouldn’t be realized for many years. This program will run continuously until it dies or is incapacitated by an axe, or a saw, or a bark beetle.

I certainly enjoyed the experience. I highly recommend tree planting to anybody interested.