Two Stanzas on Euclid’s GCD

Here’s an double tanka on Euclid’s algorithm (for finding the greatest common divisor of two numbers), executable as a Scheme program. My notes indicate that I wrote it during a tedious teleconference.

(define gcd
 (lambda (m n) (if (zero?
  n) m (gcd
   n (remainder m n))))) ; Look!
    ; Falling leaves unveil the tree.

      ; Two integers stand.
       ; They divide, m’s ghost remains.
        ; As autumn passes,
         ; n succeeds m, floating down.
          ; Zero reveals the great truth.

2 Responses to “Two Stanzas on Euclid’s GCD”


  1. 1 Conrad

    This reminds me of a poem I once wrote in DOS commands. I called it ‘batch fugue’. Long live technical poetry!

  2. 2 paul

    I love the idea of a ‘batch fugue’! In fact, that’s more or less how the fugal exposition is constructed: call theme1.bat in the first voice; when it finishes, call theme1.bat in the second voice and cntrthem.bat in the first . . . .

Leave a Reply