4.3BSD/usr/contrib/icon/book/14/cross1.icn

procedure cross(word1,word2)
   local i, j
   if i := upto(word2,word1)
   then {
      j := upto(word1[i],word2)
      every write(right(word2[1 to j - 1],i))
      write(word1)
      every write(right(word2[j + 1 to *word2],i))
      write()
      }
   return
end