(use posix utils) (define (call-process-string command input) (receive (i o pid) (process command '()) (display input o) (close-output-port o) (let ((output (read-all i))) (close-input-port i) output))) (call-process-string "tac" "foo\nbar\nbaz\n")