(defun check (str)
  (loop with plist = nil
	for char across str
	do (incf (getf plist char 0))
	finally (format t "~{'~c'->~2d~%~}" plist)))

(check "We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.")