[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Pipelining streams or Point, Counter Point



    Date: Fri, 23 Oct 87 11:56 EDT
    From: Dennis L. Doughty <doughty@YUKON.SCRC.Symbolics.COM>

    Date: Thu, 22 Oct 87 17:42 EDT
    From: J. Scott Penberthy  <JSP@IBM.COM>

    Date: Thu, 22 Oct 87 15:17 EDT
    From: Dennis L. Doughty <doughty@YUKON.SCRC.Symbolics.COM>

doughty:   Have you read the section on Coroutine Streams in the documentation?

jsp:       Yes, I read the documentation on coroutine streams. If you read...

doughty:   And if you read that paragraph again you'll realize that you were
           confusing coroutine streams with pipes.  At least in the code you sent
           in mail.  Nothing in the mail you originally sent had anything to do
           with process-to-process communication, only with intraprocess
           communication.

jsp: Here's an excerpt from my original message:

       
(defun bad-pipeline-implementation (f1 f2)
  (funcall
    f2
    (with-output-to-stream (s)
      (funcall f1 s))))

However, this hack creates huge temporary strings.  In addition, it
needlessly gathers all of the output from the first function before
sending it as input to the second function.  Does anyone know of a
better way to solve this problem?  In particular, does anyone have a
solution that permits concurrent execution of the pipelined functions?