問題タブ [scalaz-stream]

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 投票する
1 に答える
393 参照

scala - チャンクとzipWithIndexを使用したscalaz-streamの不可解な動作

scalaz-stream を使用して、コストのかかる操作でデータのストリームを処理しようとしています※。

※はい、はい、副作用のあるコードを混在させることは、関数型プログラミング スタイルとしてよくないことだとわかっています。print ステートメントは、高価な() が呼び出された回数を追跡するためのものです。)

コストのかかる操作にデータを渡す前に、データをチャンクに分割する必要があります。

次に、コストのかかる操作をチャンクのストリームにマップします。

これを実行すると、expected() が予想される回数だけ呼び出されます。

ただし、zipWithIndex への呼び出しをチェーンすると、expensive() が何度も呼び出されます。

これはバグですか?それが望ましい動作である場合、誰かが理由を説明できますか? cost() に長い時間がかかる場合、呼び出し回数が少ない結果を好む理由がわかります。

より多くの例を含む要点は次のとおりです: https://gist.github.com/underspecified/11279251

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

scala - ストリーム処理

ユーザーがアップロードしているときfileに、次のように動作する必要があるという要件があります

1) ファイル アップロード ダイアログ (ブラウザ内) がユーザーに表示されます。ユーザーがファイルを選択します。2) アプリケーションは最初の x 個のレコードのみをロードする必要があり (たとえば、レコードの総数が 100 の場合、最初の 10 個を取得するとします)、ユーザーはレコードを視覚的に確認できます (読み取り専用ビュー)。3) 次に、ユーザーは次の 2 つのいずれかを決定します。「送信をクリック」すると、すべてのデータとサーバーへのストリームが取り込まれます。または、「次へ」をクリックすると、次の 10 レコードを確認できます。

Scalaz -streamは全体的なソリューションとして、特に上記の 2) と 3) を実行するのに適していますか? 部分的なデータのみを取得してストリームを一時停止し、プロセスを継続して消費し、繰り返すには?

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

scala - Scalaz ストリームを使用して、A => Task[B] を Process1[A,B] に変換する方法

リモートサーバーへの http リクエストを、ID を取得して Task[JValue] を生成する関数としてエンコードしています。

プログラムを簡素化するために、その関数を Process1 に変換したいと思います (単純化とは、Processes を可能な限りビルディング ブロックとして使用することを意味します)。

関数を変換したい

(ここで、A は Id のタイプ、B は応答のタイプです)

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

scala - なぜ iteratee よりも scalaz.stream が必要なのですか?

最近はscalaz.iterateeと Play のiterateeで遊んでいます。iteratee は、古い命令型 while ループの代わりにモジュール性を提供するための優れたアイデアだと思います。その目的は、ファイルから string[] を取得する代わりに、新しい行ごとに関数をハンドラーとして使用することです。

しかし、scalaz.stream の機能概要を見ると、その設計は古い iteratee 実装に取って代わるものであると述べられていますが、なぜそれを置き換えたいのかについては言及されていません。

ストリーミングできるかどうか、取得できる機能と利点、および iteratee を使用することの欠点について説明してもらえますか?

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

scala - 不思議な Scalaz NoClassDefFoundError と scalaz.InvariantFunctor エラー

私は次のbuild.sbtを持っており、sbtを管理するIntelliJでScala 2.10.4を実行しており、sbtビルドファイルに基づいてプロジェクトを更新しています。scalaz-streams を追加するまでは、すべて正常に動作していましscalaz.concurrent.Taskた。次のエラーのいずれかに遭遇せずに使用することはできないようです。



この build.sbt では、次のエラーが発生します。

「scalaz-concurrent」のコメントを外すと、同じエラーが発生します:


これらの最新の例を実行しようとすると...

また、同様のエラーが発生します。


また、次のエラーが発生しました。

これらの奇妙なエラーに遭遇せずに scalaz ストリームを使用する方法を知っている人はいますか? 私は akka アクターと先物、そしておそらく shapeless と scodec で scalaz-streams を使用しようとしています。

0 投票する
4 に答える
416 参照

scala - eval T => scala.concurrent.Future[T] を Process[?, T] に繰り返し

私には機能がありますget: T => scala.concurrent.Future[T]

私はそれを次のように繰り返したい:

しかし、Iterator の型はFuture[T]です。この Iterator を処理するのは簡単ではありません。

どうすればそれを転送できますかProcess[?, T]

(おそらくT => Future[T]コンテキストタイプとしてF)。