問題タブ [haskell-pipes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
660 参照

haskell - IOアクションからの出力をhaskellのプロセスにパイプする方法

プロセスを作成し、haskell プログラムからプロセスの stdin に定期的に (IO アクションから) テキストを書き込みたいと考えています。

以下は GHCi では正しく動作しますが、ビルドして実行すると正しく動作しません。GHCi ではすべてが完璧に機能し、IO アクションからの値が定期的に供給されます。ただし、ビルドして実行すると、プロセスの標準入力に書き込むときに、任意の長い期間一時停止するようです。

CreateProcess(から) を使用System.Processしてハンドルを作成し、試しましたhPutStrLn(bufferent をNoBuffering--に設定しても機能しませんでしたLineBuffering)。

process-streamingそのため、パッケージを試していますpipesが、まったく機能しないようです。

本当の問題はこれです: haskell からプロセスを作成し、定期的に書き込むにはどうすればよいですか?

この動作を示す最小限の例:

どんな助けでも大歓迎です。

0 投票する
2 に答える
252 参照

haskell - haskell パイプ - バイト文字列パイプで takeWhile 操作を繰り返し実行する方法は?

私がやろうとしているのは、 takeWhile を使用してバイト文字列を文字で分割することです。

これで最初の行が表示されますが、実際に必要なのは、一度に各チャンクを改行文字まで効果的に生成することです。それ、どうやったら出来るの?

0 投票する
3 に答える
534 参照

haskell - ネットワーク WebSocket へのバイトのストリーミング

Bytestringソース ( ) からのストリーミングのシンクをシミュレートするためにファイル ハンドルを使用するコードがありますAWS S3。シンクとして使用したい場合は、以下のコードを(接続へのハンドルを使用して)Network.Websocket交換するだけで十分でしょうか?LBS.writeFilesendBinaryData

私にとって混乱の原因は、ストリームの終了がどのように決定されるかです? ファイルの場合、これはwriteFileAPI によって処理されます。どうsendBinaryDataですか?と同様に終了を処理しますwriteFileか? それとも、クライアント側のデータ パーサーによって決定されますか?

アップデート

この質問は、上記の例のファイル ハンドルで行うように、Websocket ハンドル (ハンドルが提供されていると仮定します) にデータをストリーミングする方法に関するものであり、実際には 内でハンドルを管理する方法に関するものではありませんresourceT。データをシンクするアプローチconduitを取っているようです。mapM_ですから、それは確かに進むべき道のようです。

終了に関する質問は、私が持っているこの考え方によるものです。Websocket ハンドルの反対側でデータをリッスンする関数がある場合、メッセージの終了を決定することは、ストリーミング コンテキストでは重要なようです。以下のような関数が与えられます:

データを websocket ハンドルにストリーミングする場合S.mapM_、何らかのend of streamマーカーを追加fして、反対側でリッスンしているときに遅延バイト文字列の処理を停止できるようにしますか? そうfしないと、メッセージがいつ完了したかわかりません。

0 投票する
1 に答える
190 参照

haskell - `readfile` 関数の出力をコンジットのソースにするにはどうすればよいですか?

次の方法で .txt ファイルを開いています。

.txt ファイルの形式は

そして、次のようになるように、xxs をソースにしたいと思います。

コンジット API は、xxs最初に文字列操作を行わずにフォームにする方法を提供し[str_1, str_2, ..., str_m]ますか?

0 投票する
1 に答える
410 参照

haskell - コンジットを使用してファイルを保存するにはどうすればよいですか?

コンジットのライブラリを使用してファイルを保存するにはどうすればよいですか? コンジットのチュートリアルを調べましたが、何も見つからないようです。これが私のユースケースです:

ここで 2 つの質問があります。

  1. lines文字列を文字列のリストに変換してから にフィードするために使用するのは理にかなっていsourceListますか?

  2. 文字列が完全に処理されsaveFileたときにディスクに書き込むことができるようにするには、関数 をどのように実装すればよいですか?xxs

0 投票する
1 に答える
121 参照

haskell - パイプ: 別のコンテンツに従ってファイルを開く

私はこのコードを持っています:

しかし、それは非常にハックに思えます.最初のファイルの最初の行で読んだものから、パイプ内から2番目のファイルを開くことができるようにしたいと思います. 何か案が?