問題タブ [functional-java]
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.
java - Functional-Java を使用して Java プロダクション プロジェクトにクロージャを追加するのはどの程度安全でしょうか?
Javaでクロージャーを使いたいです。Java 7 に組み込まれるかどうかはわかりませんが、functional-javaと呼ばれるオープンソース プロジェクトでは、クロージャを含む機能的な機能が実装されています。
このようなライブラリをエンタープライズ プロダクション アプリで使用することは、どれほど安全でしょうか?
現在、Java にクロージャを追加するより良い方法はありますか?
java - Functional Java プロジェクトを使用した経験は何ですか?
私は次の質問を読んでいました - Functional-Java を使用して Java プロダクション プロジェクトにクロージャを追加することはどのくらい安全でしょうか? そして、現在のプロジェクトでもFunctional Java プロジェクトを使用することを考えていました。Functional Java プロジェクトを使用して、Stack Overflow のユーザーはどのような経験をしているのだろうか? 特に、これらの詳細のいくつかに興味があります。
- コードの品質や明瞭度は向上しましたか?
- 生産性を向上させますか?
- 潜在的な障害点を減らしますか?
- インパクト性能?
maven - Functionaljava 3.0 を含むリポジトリはどこにありますか?
Maven プロジェクトで機能的な Java 3.0を使用したいと考えています。少しグーグルで調べましたが、pom.xmlに対応する「依存関係」を含めるための有効な情報が見つかりません。
アーティファクトを scala-tools の maven リポジトリにアップロードすると誰かが言っていましたが、彼は自分の発表をフォローアップしているようには見えません。
機能するJavaの以前のバージョンがmavenから入手できるようには見えません。
この問題に関する有効で最近の情報を持っている人はいますか?
ありがとう!
PS: はい、プロジェクトに .jar をダウンロードして手動で含めることができることはわかっていますが、これは回避策にすぎません...
java - 関数型Javaはarity-2関数(F2)をオプションにバインドします
関数型Javaを使用したOptionの基本的なバインド構文を次のように理解しています
これは単一の入力関数ではうまく機能しますが、複数の入力関数(F2、F3など)の使用方法がわかりません。
すなわち:
私は何かが足りないことを知っていますが、ドキュメントは少しまばらです。アイデア?
java - 関数型JavaとGuavaの間に良い比較はありますか?
教えるコースでは、Functional JavaまたはGuava(またはScalaの可能性は低い)のいずれかを使用したいと思います。JVMで実行される関数型言語はたくさんありますが、Javaにできるだけ似ているもの、つまり、Java 8で期待される関数型機能と、概念的および構文的に最も互換性のあるものに固執したいと思います。 。
FunctionalJavaとGuavaが最適な候補のようです。機能、使いやすさ、ストレートJavaとの概念的な近さなどの点で、それらを比較するものは何も見つかりませんでした。これらのライブラリ間の優れた比較を知っている人はいますか?
java - Java FoldMapリスト、または「怠惰な/熱心な不協和音を回避する方法」
私はこのパッケージをJavaに移植していて、2つの言語間の怠惰な/熱心な不協和を回避しようとして立ち往生しています。実装は関数型に完全に依存しているので、それほど深刻になるとは思いませんでしたが、間違っていたと思います。これが機能するのに十分な怠惰を維持するにはどうすればよいですか?あるいは、Javaに十分熱心になるように、これを最小限に書き直すにはどうすればよいですか?
コード
教えてくれてありがとう、今はペーストビンで直接利用できます。
問題
私はほとんどすべての「機能スタイル」メソッドでスタックオーバーフロー(heh)を取得し、機能的にコーディングしていないforce()
場合でもそれらを防ぐためにほぼ常に呼び出す必要があります。
java - 関数型Java-メンバー関数を呼び出して変換する
私はルビーの観点からいくつかの関数型Javaに来ています
ルビーではこのようなことができます
これは、各オブジェクトでto_sメンバー関数を呼び出すことにより、配列を変換(マップ)することを評価します。
Javaでも同様のことをしたいと思います。つまり、各オブジェクトで_2()メソッドを呼び出して、Product-3(fj.P3)のリストを変換します。
だから私はどこかにメソッドを定義しなければなりませんでした
しかし、最初の要素を取得したい場合、それは別のメソッドです... P3から2番目の要素を取得したい場合、それは別のメソッドです。
質問は...ルビーで利用できるようなメカニズムがない場合、これを達成するための最も一般的な方法は何ですか?
java - Functional Java's Effect に似た Guava の何か?
純粋な関数型プログラミングの目標の 1 つは、可変性を排除し、それによって副作用を排除することであることを私は知っています。しかし、現実を直視してみましょう。Java は、関数型プログラミング ライブラリがすべて存在するにもかかわらず、関数型言語ではありません。実際、一部の FP ライブラリはこれを認識し、期待しているようです。たとえば、Functional Java にはEffect
クラスがあります。Jedi FP ライブラリには、Command
インターフェイスがあります。これによりIterable
、厄介な for ループのボイラープレートを使用せずに、型安全性を備えたコマンド パターンを の要素に適用できます。
問題は、グアバにそのようなものはありますか?
明確化のために回答が受け入れられた後に編集
私は、特定の状況下で、ほとんどの Java FP ライブラリに固有の「垂直問題」に役立つフレームワークを開発しています。したがって、上記のコード例を実際には作成しませんCommand
。つまり、宣言の直後にすぐに適用する目的で、垂直方向のノイズの厄介さをすべて備えた の新しいクラス実装を明示的に宣言します。
私は実際のコマンド パターンの行に沿ってより多くのことを考えていました。別の場所で宣言されたいくつかの可能なコマンドがあり、そのうちの 1 つだけがそれを繰り返し適用したいコードに渡されます。さらに、私のフレームワークの目標は、単純に縦の問題を別の場所に移すことなく、関数型インターフェイス オブジェクト (関数、述語、コマンド、その他の単純なラムダ) を作成することをより慣用的にすることです。これはGuavaの範囲内ではないことに長い間気づきました。しかし、コマンドのようなインターフェイスは他の FP ライブラリで利用できるため、アナログが Guava に存在するかどうかを知りたかっただけです。
私のフレームワークを使用したより完全なコード例は、次のようになります。
java - FunctionalJava オプションのマッピング休止状態で
JKL
通常の休止状態にマッピング可能なフィールド (文字列や整数など) でいっぱいの、休止状態にマッピングされた Java オブジェクト があります。
新しい埋め込みフィールド (マッピングではなく同じテーブルに存在する) が追加されましasdf
た。これはfj.data.Option<ASDF>
. このフィールドには実際には何も含まれていない可能性があることを明確にするためのオプションにしました (null
アクセスするたびに処理する必要があるのではなく)。
ファイルでマッピングを設定するにはどうすればよいJKL.hbm.xml
ですか? オブジェクトを取得するときに、休止状態null
でデータベース内の anone
を ofに自動的に変換したいと思います。また、null 以外のインスタンスをofにfj.data.Option<ASDF>
変換する必要があります。私がしなければならない他のトリックはありますか?ありがとうございました。ASDF
some
fj.data.Option<ASDF>