<html>
<head>

</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<br>
<div>
<div>To add more detail to my previous question, I wonder if I can do something like the following:</div>
<div><br>
</div>
<div>
<div>(defun test ()</div>
<div>  (setq p (run-program "python" nil</div>
<div>                       :wait t</div>
<div>                       :input :stream</div>
<div>                       :output :stream))</div>
<div>  (setq is (external-process-input-stream p))</div>
<div>  (setq os (external-process-output-stream p))</div>
<div>  (loop do (format is "~A~%"  (read-line))</div>
<div>           do (format t "~%~A" (read-line os))))</div>
</div>
<div><br>
</div>
<div>The idea is that this would create a process running python and allow me to send and receive text to it. The code above doesn’t work, the read from the external process output stream never returns, but perhaps there’s a simple fix?</div>
<div><br>
</div>
<div>    Thanks,</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>Mark</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div><br>
</div>
Hi,
<div><br>
</div>
<div>I’d like to create input and output streams that connect with the python interpreter that comes included with Mac OS X so I can invoke python subroutines from lisp and get the results. Does anyone have any suggestions about how that can be done? I see
 that Clozure allows running other programs as subprocesses (<a href="http://ccl.clozure.com/ccl-documentation.html#Running-Other-Programs-as-Subprocesses">http://ccl.clozure.com/ccl-documentation.html#Running-Other-Programs-as-Subprocesses</a>) but it’s not
 clear to me if I can use that to interact with a program like python, as oppose to simply invoking a program like “cat” and getting the results it returns when it completes.</div>
<div><br>
</div>
<div>Thanks for your help!</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>Mark</div>
<div><br>
<div apple-content-edited="true">
<div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="orphans: 2; widows: 2;">-------------------------------<br>
Mark Klein<br>
<a href="http://cci.mit.edu/klein">http://cci.mit.edu/klein</a></div>
<div style="orphans: 2; widows: 2;"><br>
Principal Research Scientist<br>
Center for Collective Intelligence<br>
Massachusetts Institute of Technology<br>
<br>
Visiting Researcher<br>
Dynamic and Distributed Information Systems Group<br>
University of Zurich</div>
</div>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
<div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="orphans: 2; widows: 2;">-------------------------------<br>
Mark Klein<br>
<a href="http://cci.mit.edu/klein">http://cci.mit.edu/klein</a></div>
<div style="orphans: 2; widows: 2;"><br>
Principal Research Scientist<br>
Center for Collective Intelligence<br>
Massachusetts Institute of Technology<br>
<br>
Visiting Researcher<br>
Dynamic and Distributed Information Systems Group<br>
University of Zurich</div>
</div>
</div>
<br>
</body>
</html>