Using posix' process procedure pasted by wasamasa on Fri Mar 25 10:02:33 2016
(use posix utils) (define (call-process-string command input) (receive (i o pid) (process command '()) (display input o) (close-output-port o) (read-all i) (close-input-port i))) ;; this hangs (call-process-string "tac" "foo\nbar\nbaz\n")
Fixed version added by wasamasa on Fri Mar 25 10:05:21 2016
(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")