(defun diff-strings (string1 string2) (uiop:with-temporary-file (:pathname path1 :directory "/tmp") (uiop:with-temporary-file (:pathname path2 :directory "/tmp") (alexandria:write-string-into-file string1 path1 :if-exists :supersede) (alexandria:write-string-into-file string2 path2 :if-exists :supersede) (let ((program (list "/usr/bin/diff" (uiop:native-namestring path1) (uiop:native-namestring path2)))) (uiop:run-program program :output :string :ignore-error-status t)))))