問題タブ [conduit]
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.
networking - コンジット - 1 つのソースへの複数の「試行」
私は次のことをしようとしています:
ご覧のとおりProducer、プリミティブの観点から を作成しようとしていますwithConnectionForever。そのプリミティブのタイプは次のとおりです。
ご想像のとおり、コンパイル時にエラー メッセージが表示されます。それは:
さて、私は への呼び出しの型が明らかにコンジットではないことを知っていますが、コンジットもモナドであり、ハードコーディングされたモナドの代わりに自由なモナドwithConnectionForeverを使用するという事実のおかげで、なんとかコンジットになることを望んでいました。withConnectionForever1。メッセージが何を伝えようとしているのかについての私の理解は、それが起こっていないということです。その理由と、それに対して私ができることを知りたい.
完全を期すために、プリミティブのソースを次に示します。
侵襲性を最小限に抑えた方法で実行できる場合を除き、プリミティブを書き直さないことを本当に望んでいますが、それはテーブルにあると思います。
前もって感謝します!
haskell - コンジットを再利用しても安全ですか?
同じコンジット値を使用して複数のアクションを実行しても安全ですか? 何かのようなもの
コンジットの初期のバージョンでは、これを安全でなくするいくつかの汚いハックがあったことを思い出します。現在の状況は?
sinkSocket(ソケットを閉じないことに注意してください。)
parsing - Haskell: バイナリを使用してバイナリ ファイルを遅延読み取りする
バイナリ ファイルを読み込んで、「バイナリ」パッケージを使用して遅延解析しようとしています。パッケージのドキュメントには、私のものと非常によく似たシナリオですべての入力を強制せずにこれを行う方法の例が示されています。
ただし、これは非推奨のrunGetState関数を使用しており、それ自体が関数を指していrunGetIncrementalます。
問題は、「runGetIncremental」関数が残りの入力を厳密なバイト文字列に強制するように見えるため、ファイル全体を強制的にメモリにロードすることです。実際、これを実行しようとすると、約 6GB のメモリ使用量が見られます。nowの実装でさえ、runGetStateに基づいているようで、runGetIncrementalを使用して厳密なバイト文字列を遅延文字列に再変換しchunkます。
チュートリアルで説明されている動作を取得できますか、またはこれは現在バイナリでサポートされていませんか? 後者の場合、これを行うための最良の方法は何ですか? コンジットを使用した経験は少しありますが、ここでどのように使用できるかは明確ではありません。
networking - Http-Conduit の頻繁な接続障害
HTTP でいくつかのファイルをダウンロードするアプリケーションを作成しています。ある時点まで、次のコード スニペットを使用してページの本文をダウンロードしていました。
正常に動作していましたが、HTTPS プロトコルによる接続を確立できませんでした。これを修正するために、HTTP コンジットに切り替え、次のコードを使用しています。
HTTPS に接続できますが、新しいイライラする問題が発生しました。約 5 番目の接続ごとに失敗し、次の例外が発生します。
network.HTTP が同じ一連のページ (https ページを除く) で正常に動作していたため、これは HTTP コンジットの問題であると確信しています。
誰かがそのような問題に遭遇し、Conduit ライブラリに代わる解決策を知っていますか?
haskell - コンジットに ResourceT のインスタンスがありません
ResourceTコンジット 1.0.9.1から使用しようとすると、奇妙なエラーが発生します。ドキュメントからインスタンスが欠落しています。例えば
ドキュメントには を含む多くのインスタンスがありますが、の使用に起因する( ) のインスタンスなしMonadTrans ResourceTliftで失敗しますMonadTrans ResourceT。REPL を確認すると、問題が確認されます。
これは私の側のばかげた間違いのようですが、わかりません。欠落しているインスタンスはどこにありますか?
haskell - Haskell の zip コンジットを使用して、zip アーカイブ内のファイルから行を読み取ります
タイトルが示すように、zip コンジットを使用して、zip アーカイブ内にあるファイルから行を読み取れるようにしたいと考えています (私が扱っている zip ファイルは非常に大きいため、できるようにする必要がありますこれは定数メモリ内にあります)。私はコンジットの非常に基本的なアイデアを理解していますが、それらを怒って使用したことは一度もありません。コンジットのチュートリアルを読みましたが、それを自分の問題と一致させるのに苦労しています。
zip コンジットのドキュメントには、次のような方法で zip アーカイブから入手できると書かれています。
私がする必要があるのは、代わりに何かを書くことだと思いますCB.sinkFile。Data.Conduit.Textにはlines関数があります — これを何らかの方法で使用して、ファイルから行を取り出すことができますか?
putStrLnたとえば、 zip ファイル内にアーカイブされた単純なテキスト ファイルの行を書き出すために使用するなど、単純な例を示していただければ幸いです。前もって感謝します。
xml - 正規化されていない xml から Cursor のコンテンツを取得する
xml ファイルがあるとします。
問題は"This Value!"、この xml から抜け出す方法です。
これは私が持っているものです:(
- なぜ3つの答えがあるのですか?
<span class="user-hover">タグ内のコンテンツをより正確に定義するクエリはどれですか? - スペースのインデントと改行記号を自動的に削除する方法は?
UPD : つまり、問題は、ネストされたタグをすべて削除し (いくつあるかは関係ありません)、最初のレベルのコンテンツのみを取得する方法です"This Value!"(およびスペースと改行)。
http - Haskell でコンジットを学習しているときに MonadBaseControl エラーで混乱する
Haskell のコンジットについて学びに行こうとしています。面白そうに聞こえますが、型はすぐに非常に混乱します。
これまでに次のファイルを作成しました: https://gist.github.com/anonymous/7991727
おそらく、一連のティッカー シンボルが与えられると、Yahoo Finance にアクセスし、関連するデータ ファイルをダウンロードします。シンプルに聞こえます。
getLinkそしてextractLink素晴らしい作品。問題ありません。
downloadContentあらゆる種類のコンパイルの問題を私に与えています。このソースコード:
私が得ている正確なエラーはこれです:
コードの意図を達成するためのここでの洞察は何ですか?