問題タブ [scalaz7]

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 に答える
270 参照

scala - Scalaz 7 - 型エイリアスを使用すると Reader の型クラス解決があいまいになる理由

テストするコード:

これは、Scala の型コンストラクター推論チケットの高次統合に関連していますか? もしそうなら(そうでなくても)、a と b のケースでここで何が起こるか説明できますか?

いつラムダ型を使用し、いつ型エイリアスを使用して、予期しないエラーなしですべてがうまくいくかについてのガイドラインはありますか?

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

validation - 検証とscalaz7の組み合わせ

次の関数が与えられます:

関数を作成するなど、それらを組み合わせたいと思います。この関数はfoo、最終的barには、生成されたの各要素を呼び出します。たとえば、 :Seqを取得します。ValidationNEL[String,Seq[C]]

Scalaz 7のドキュメントは非常に短く、関連する例は見つかりませんでした。

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

scala - 検証がモナドではないのはなぜですか?

ユースケースの例:

エラー:型クラスによって分類されたscalaz.Validation[String,Int]種類の型コンストラクターに型を適用解除できませんM[_]scalaz.Bind

エラーの原因は、コンパイラがインスタンスを見つけられなかったためだと思います。MonadValidation[String, Int]

次のように、自分で作成できます。

しかし、なぜまだValidationそれを持っていないのですか?結局のところ、Validationすでにbindメソッドが定義されています。

さらに、別の複雑なエラーimport Validation._のために、私はもう一緒に持つことができませimport Instances._ん(これは私が理解するのに時間がかかりました...)... あいまいな暗黙の値:両方のようなもの(私のインスタンス)と特性のメソッド...両方ともいくつか一致します...
validationMonadValidationInstances1ValidationInstances2Functor of Validation

scalazのソースを変更する必要がありますか?または私は完全に何かが欠けています〜?
助けてください〜

scalaz7.0.0-M2を使用しています

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

scala - Scalaz7の`シーケンス`はどこにありますか

私はScalazを学んでいて、すでにScalaz7を利用しているプロジェクトがあります。この質問に続いて、私は関数を使用したいと思います

(自分で書くのは難しいというわけではありません)。しかし、前述の質問はScalaz6に言及しています。

Scalaz7のシーケンス関数はどこにありますか?

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

scala - Scalaz で自分の道を見つける

重複の可能性:
良い scalaz の紹介

私は Scalaz についてもっと学びたいと思っています。おそらく Scalaz7 を使用して、脳が安定していると宣言されたら、脳の再配線を避けたいと思っています。私の問題は、Scalaz に多くの機能が含まれていることです。そのほとんどは他の部分から独立していることを意図していますが、Scalaz が提供するグローバルな機能と、それがどのように構成されているかを俯瞰したいと思います。私の知る限り、Scalaz は、とりわけ、

  • FunctorApplicativeおよびMonad特性、
  • Validationのような新しいモナド
  • モナド変換子 ( OptionT, EitherT....)
  • Itereatees
  • Lensエス
  • Zippers

これに加えて、多くの暗黙的な変換someと、標準ライブラリと重複するが型に関してより適切に動作するような新しいコンストラクターがあります。

私はこれらの構造のほとんどについて基本的な理解を持っていますが、どの概念についても流暢ではありません。

ライブラリを学習する順序、モジュール間に存在する論理的な依存関係について何か提案はありますか? より一般的には、ライブラリの高レベルの概要はどこにありますか?

編集ほとんどの回答は、モナドなどの関数型プログラミングの基本コンポーネントの学習に向けられているようです。そのため、より正確にしようと思います。私は Haskell の基本的な知識と数学者のバックグラウンドを持っているので、私の問題は圏論や基本的な関数型プログラミングとは関係ありません。

私の問題は、Scalaz が巨大なライブラリであることです。どこで何を見つければよいのか、さまざまなデータ型でどのメソッドが利用可能または有用なのかわかりません。私が本当に必要としているのは、たとえば、破棄する必要のあるリソースを繰り返し処理したい場合、反復対象とそれを使用して実行できる操作の種類を検討する必要があることを教えてくれるマップです。ライブラリで利用可能な機能のパノラマのようなものです。

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

logging - Scalaz 7:どちらかの値をプレーンな値とログに記録されたエラーに変換する慣用的な方法?

関数が与えられた場合、 sをログに記録しながら、 sのリストの結果f: A => E \/ Bを収集する慣用的な方法は何ですか?BAE

私は次のことを思いついた(部分的にこのSOの質問に答えている間):

より短い/より良い/より制限の少ない/より一般的な方法はありますか?

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

list - Scala: リストから繰り返される値を抽出する

多くの値が等しいかどうかを確認し、場合によっては共通の値を抽出する必要があることがよくあります。つまり、次のように機能する関数が必要です。

seqsに追加tailOptionする pimp があると仮定すると (1 つ書くのは簡単で、scalaz に 1 つある)、1 つの実装は次のようになります。

そのようなもの (おそらくもっと一般的なもの) は既に Scalaz にあるのでしょうか、それとももっと簡単に書く方法はありますか?

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

scala - PlayでのScalaz7の使用

Playと一緒にScalaz7を使用するのに少し問題があります。現在、私はScala2.9.1とscalaz-core7.0-SNAPSHOTで標準のPlayディストリビューションを使用しています。これは、公式ではないように見えるリポジトリhttp://repo.typesafe.com/typesafe/repo/にあります。これについてはよくわかりませんが、すでにhttp://repo.typesafe.com/typesafe/snaphots/http://repo.typesafe.com/typesafe/releases/があり、リポジトリが正式に承認されているかどうかはわかりません。と維持されます。今は上がっていますが、数日前に消えたようです。

スナップショットリポジトリにscalaz-core7.0-M3が表示されますが、Scala2.9.2のみです。7.0-SNAPSHOTと7.0-M3のどちらがscalazの最新バージョンであるかさえわかりませんが、私が見つけたほとんどのブログ投稿とドキュメントはバージョン7.0-M3を参照しているようです。

それで、私がScalazを利用するPlayアプリケーションを開発していることを考えると、scalaz 7を学ぶのに少し時間がかかったので、scalaz6に戻るのは大変なことのようです。

プレイ内でScalaz7を使用する正しい方法は何ですか?私が今行っているように、非公式のリポジトリに行くべきですか、それともプロジェクトをScala 2.9.2にアップグレードするべきですか?プレイです!すでに2.9.2をサポートしていますか?そうでない場合、どのようにアップグレードする必要がありますか?

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

scala - Scalaz7でのインポートの管理

プロジェクトでscalaz7を使用していますが、インポートで問題が発生することがあります。始める最も簡単な方法は

ただし、これにより競合が発生する場合があります。私が今までやってきたことは、次の少し苦痛なプロセスです。

  • 私の実際のコードと同じインポートを必要とする最小限の例を考え出す
  • その例を別のプロジェクトにコピーする
  • -Xprint:typer暗黙の解決後にコードがどのように見えるかを調べるオプションを使用してコンパイルします
  • 元のプロジェクトに必要な暗黙をインポートします。

これは機能しますが、合理化したいと思います。scalaz7にはもっときめ細かいインポートがあるようですが、それらがどのように編成されているかを完全には理解していません。たとえば、私は1つができると思います

等々。

これらのサブインポートはどのように編成されていますか?

例として、検証を処理したいとします。たとえば、検証インプリシットを挿入して次のコンパイルを行うには、何が必要ですか?

ValidationNEL[A, B]のインスタンスを作成するのはApplicativeどうですか?

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

scala - scalaz (scalaz7) でのグローバルなデフォルトの暗黙関数

Scalaz を使ってコードを書いていると、スコープに暗黙的なものがないという問題に遭遇することがよくあります。膨大なパッケージの scalaz のどこかにデフォルトの暗黙関数がいくつかあるはずだと思いますが、どこにあるかわからないか、まったくありません。

showscalaz でanyを使いたいとしますAny(私は scalaz 7 を使用しています):

Show[Any]スコープに暗黙的なものがないため、機能していません。

なぜ Scalaz はそれを提供しないのですか? いくつかのグローバルを使用する良いアプローチはありますかShow[A]? 私は次のようなことを意味します:

私は同じタッチだと思いますEqual

編集

回答に記載されているように追加しようとしましたimport scalaz.syntax.ShowSyntaxが、問題は解決しません。見る:

コンパイラはまだいくつかを必要としていimplicit scalaz.Show[Any]ます。