(require (lib "xml.ss" "xml")) (define *ecebidpro-binary* "/afs/wsi/pu/pfi-2002/i386_fbsd46/bin/ecebidpro") (define (run-ecebidpro file-name) (call-with-values (lambda () (subprocess #f #f (current-output-port) *ecebidpro-binary* file-name)) (lambda (sp-value in out err) (let ((xml (read-xml in))) (subprocess-wait sp-value) (let ((return-value (subprocess-status sp-value))) (if (zero? return-value) (xml->xexpr ((eliminate-whitespace '(bidproresults winner) (lambda (x) x)) (document-element xml))) return-value))))))