On 2/1/19 3:48 PM, Steven D'Aprano wrote:
> On Fri, Feb 01, 2019 at 02:38:43PM -0600, Dan Sommers wrote:
>
>> So why not turn that around?  ksh (since way back when) and
>> bash (since 2008, according to what I read somewhere online)
>> have "co-processes," which allow you to run a command "in
>> the background," and send commands and receive replies from
>> it.  So I tried it with Python, but it didn't work:
>>
>>     $ coproc P3 { python3; }
>>     $ echo 'import sys; print(sys.version)' >&${P3[1]}
>>     $ read v <&${P3[0]}
>>     [the read command just waits forever]
>
> This is another good example of the problem James was referring to in
> the thread about clearer communication. Don't assume we all know what
> coproc does.

As I indicated in what you quoted, shell co-processes allow you to run a
command in the background and interact with that command from your
shell.

>> A pile of experiments and examples from web pages later, I
>> think it's Python and not me.  My example, with suitable
>> changes to the literal in the echo command, works with sbcl
>> and erl, but not python3.  If I start python3 as follows:
>
> What are sbcl and erl?
>
> I'm guessing you don't mean antimony pentachloride and a municipality in
> Austria. Possibly Steel Bank Common Lisp and Erlang? But I'm not
> confident about that.

Yes, the Steel Bank Common Lisp and Erlang REPLs, respectively.

> Does your example work with more well-known interpreted languages with
> interactive interpreters such as Ruby, Lua, Javascript (outside of the
> browser), etc?

I don't know (I don't write software in any of those languages, and I
don't have them imstalled on my computer), but adding the "-i" flag to
my python3 command makes it work (thanks to ChrisA for suggesting "-u";
it was a short leap from there to "-i.")

Dan
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to