問題タブ [scalaz]

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

scala - if(p(f(a)、f(b))aelsebと機能的に同等

私は、次のことを表現するためのより良い機能的な方法があるに違いないと推測しています。

したがって、この例ではf == foop == _ < _。これには、scalazに巧妙な巧妙さが必要です。私は私が書くことができることを使用して見ることBooleanWができます:

しかし、私はabを一度だけ参照するコードを書くことができると確信していました。これが存在する場合、それは他のFunction1W何かの組み合わせにあるに違いありませんが、scalazは私には少し謎です!

編集私がここで求めているのは「どうやってこれを書くのか」ではないと思います。しかし、「そのような関数の正しい名前と署名は何ですか?それは、クライスリ、コモナドなど、私がまだ理解していないFPのものと関係がありますか?」

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

scala - Scalaz の関数構文パズル

scalaz の導出に関するNick Partidge のプレゼンテーションを見た後、私はこの例を見なければなりませんでした。

メソッドが何をしているのかを理解しようとして<|*|>いました。ソースコードは次のとおりです。

OK、それはかなり紛らわしい (!) - しかし、次の<**>ように宣言されているメソッドを参照しています。

だから私はいくつかの質問があります:

  1. このメソッドは、1 つの型パラメーター ( )のより高次の型を受け取るように見えますが、 (2 つの型パラメーターを持つ) を渡すことができるのはなぜですか?M[B]Validation
  2. 構文は、2 番目のメソッドが期待する(_: A, _: B)機能を定義しますタプルが見えない!(A, B) => Pair[A,B]
0 投票する
1 に答える
1157 参照

scala - スカラス・クライスリの質問

scalazライブラリにはKleislitraitと呼ばれるものがあります。コードを見る:

値 2 で関数を呼び出すと、次のようkになります。

私の質問は: Scalaz を使用して f と g を組み合わせて関数 m を取得し、m(2) の出力が次のようになるようにするにはどうすればよいですか?

これは可能ですか?

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

scala - Scalaz:Cokleisli構成のユースケースのリクエスト

この質問は炎の餌としてではありません!明らかかもしれませんが、私は最近Scalazを見ています。ライブラリが提供する機能の一部が必要な理由を理解しようとしています。ここに何かがあります:

関数にprintlnステートメントをいくつか入れて、何が起こっているかを確認しました(ただし、そのような副作用を回避しようとした場合はどうすればよいでしょうか?)。私の機能は次のとおりです。

それから私はそれらをcokleisliを介して結合し、NEL[Int]

これは何を印刷しますか?

RES値は、最終的なNELの(文字列)要素の文字数です。私には2つのことが起こります。

  1. 関係するメソッドシグネチャから、この方法でNELが削減されることをどのようにして知ることができましたか?(私は結果をまったく期待していませんでした)
  2. これのポイントは何ですか?適度にシンプルでわかりやすいユースケースを私のために蒸留することはできますか?

この質問は、レトロニムのような素敵な人がこの強力なライブラリが実際にどのように機能するかを説明するための薄いベールのある嘆願です。

0 投票する
5 に答える
12878 参照

scala - Scalazを使用してオプションのリストをリストのオプションに変換する

List[Option[T]]をに変換したいOption[List[T]]。関数のシグネチャタイプは次のとおりです。

Some予想される動作は、 sのみSomeを含むリストを要素の内部の要素のリストを含むリストにマップすることSomeです。一方、入力リストに少なくとも1つあるNone場合、期待される動作は単にを返すことNoneです。例えば:

scalazを使用しない実装例は、次のようになります。

同様の例をどこかで見たのを覚えていますが、コードを単純化するためにScalazを使用しています。どのように見えますか?


Scala2.8を使用しているが、 Scalazを使用していない、もう少し簡潔なバージョンPartialFunction.condOpt

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

scala - scalaz IDEAライブテンプレートをシンボリックメソッドで機能させるにはどうすればよいですか?

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

scala - List ではなく Set で scalaz の MA メソッドを使用したコンパイルの問題

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

scala - この非同期JavaネットワークAPIをモナディック表現(または他の慣用的なもの)に変換できますか?

コールバックベースのスタイルを使用してプロプライエタリバスに接続して通信するためのJavaAPIが提供されました。私は現在、概念実証アプリケーションをscalaに実装しており、もう少し慣用的なscalaインターフェイスを作成する方法を模索しています。

典型的な(簡略化された)アプリケーションは、Javaでは次のようになります。

Scalaでは、(T => Unit)からIListenerへの暗黙の変換を明らかに定義できます。これにより、物事が少し読みやすくなります。

これを見ると、scalazの約束とf#非同期ワークフローの両方を思い出しました。

私の質問はこれです:

これを理解のために、または同様に慣用的なものに変換できますか(これは俳優にもかなりうまくマッピングされるべきだと思います)

理想的には、次のようなものを見たいです。

0 投票する
6 に答える
14552 参照

scala - ScalaでOption値を組み合わせる方法は?

Scalaの値に演算f: (T,T) => Tを適用できるようにしたい。2つの値のいずれかがである場合Option[T]の結果が必要です。NoneNone

より具体的には、次のことを行うためのより短い方法があるかどうかを知りたいです。

私は試しまし(x zip y) map {case (u,v) => f(u,v)}たが、結果はではありIterator[T]ませんOption[T]

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

scala - Scalaz の暗黙のパラメーター