私はプログラミングにかなり慣れていないので、我慢してください。私の基本的な質問はこれです。私はHaskellで書かれたプログラムを持っており、そのstdoutをPythonプログラムのstdinに接続したいと思っています(GUI関連のものを管理します)。同様に、PythonプログラムのstdoutをHaskellプログラムのstdinに接続して、ユーザーがクリック/入力した内容に関する情報をHaskellプログラムに送信できるようにします。
最初の質問は、PythonプログラムのstdoutがHaskellプログラムに接続されていると仮定して、2つの間にパイプラインを設定した場合、Tkinterを使用してウィジェットなどを作成した場合でも、それらは画面に表示されますか?
2番目の質問は、このパイプラインをどの程度正確に確立するかということです。次のサンプルコードを考えてみましょう。
main :: IO ()
main = do
-- putStrLn "Enter a number." <- this will be displayed in Python
string <- getLine
putStrLn $ 5 + read string::Int -- or any equivalent function to send to stdout
Pythonコードは次のようになります。
from Tkinter import *
root = Tk()
label = Label(root, text = "Enter a number.")
label.pack()
enternum = Entry(root)
enternum.pack()
enternum.bind("<Return>", print_num)
-- print_num would essentially be a function to send the Haskell program the number
-- which would be received by the getLine function the way I have it.
これまでに質問されたことがある場合は申し訳ありませんが、私を助けてくれてありがとう!