問題タブ [jvm-languages]

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

optimization - JVM で実行する場合の Scala での再帰の使用

このサイトと Web の他の場所を検索すると、テール コールの最適化は JVM でサポートされていません。したがって、非常に大きな入力リストで実行される可能性のある次のような末尾再帰の Scala コードは、JVM で実行する場合は記述すべきではないということですか?

Martin Odersky の Scala by Example には、再帰が適切な状況またはその他の環境があることを示唆しているように見える次のパラグラフが含まれています。

原則として、テール コールは常に呼び出し関数のスタック フレームを再利用できます。ただし、一部のランタイム環境 (Java VM など) には、末尾呼び出しでスタック フレームを効率的に再利用するためのプリミティブがありません。したがって、生産品質の Scala 実装は、最後のアクションがそれ自体への呼び出しである直接末尾再帰関数のスタック フレームを再利用するためにのみ必要です。他の末尾呼び出しも最適化される可能性がありますが、実装間でこれに依存するべきではありません。

この段落の真ん中の 2 つの文の意味を説明できる人はいますか?

ありがとうございました!

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

functional-programming - 怠惰なシーケンスでの「Lose your head」の説明

Clojure プログラミング言語では、なぜこのコードは見事に合格するのでしょうか?

これは失敗しますが:

「頭を失う」というアドバイスについてですが、説明していただけますか?私はまだそれを消化することができません。

更新:
正しい答えを選ぶのは本当に難しいです.2つの答えは驚くほど有益です.
注: コード スニペットは「The Joy of Clojure」からのものです。

0 投票する
3 に答える
1259 参照

java - JVM言語の逆コンパイル

GroovyやScalaなどのJVM言語を初期形式に逆コンパイルすることは可能ですか?

4行のGroovyクラスを逆コンパイルしようとすると、約20行の逆コンパイルされたJavaコードが得られます。

市場にはそのような逆コンパイラーがないので、それは実際的な問題というよりも理論的な問題です(私が知っていることではありません)。

ありがとう。

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

grails - GrailsアプリケーションでのGroovyコードのコンパイル

Grailsアプリケーション用のwarファイルをビルドすると、grails warそれでもいくつかのGroovyファイルが含まれています。

war-filedがアプリケーションサーバーにデプロイされた後、このファイルはいつ、どのようにJavaバイトコードにコンパイルされますか?

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

groovy - Groovy 実装の詳細

Groovy が内部でどのように実装されているかについての詳細はどこで確認できますか? ソース コード以外に、実装の詳細について説明している優れた論文、ブログ、ビデオ、スライド デッキなどはありますか?

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

scala - IDE で十分にサポートされている JVM 関数型言語はどれですか? (IDE: IDEA、Netbeans、Eclipse など)

Java のレガシー コード (Weka コード) にシームレスにアクセスできる関数型言語を探すのに多くの時間を費やしました。インポートされた Java クラス メソッドのオートコンプリートは優れています。感想を述べますので、間違っていたら訂正してください。

YetiはシンプルでMLに似ているのでとても魅力的ですが、適切な IDE をセットアップできませんでした。言語自体がすでに実生活で使用できるかどうかもわかりません。

GroovyJRuby、およびJythonは非常に成熟しているように見えますが、実際には機能していません。 Scalaは成熟していますが、オブジェクト指向でもあり、少なくとも Netbeans (よく覚えていれば Eclipse) ではバグがあります。

OCaML-Java」も OO であり、すぐには使用できません (3 つまたは 4 つの個別のプロジェクト)。IDE では、使用する準備がさらに整っていないと思います。

ジャスケルは死んでいるようだ。

Clojureは成熟しているようで、Intellij IDEA (La Clojure プラグイン) で非常にうまく機能しますが、コーディング中に 1 行に 2 つ以上の括弧を書きたいかどうかはわかりません。

SISCABCLは試していません。IDE サポートはないと思います。

CAL (または Quark ... Blah ...) 言語は SAP サイトにつながり、その後、機能的な JVM 言語を探す私の忍耐は終わりました。

同様の質問がありますが、包括的ではありません。例: Eclipse で最適なサポートを提供する関数型プログラミング言語はどれですか?

Java クラスを直接呼び出すことができる JVM 関数型言語がいくつかありませんか? Clojureが (IDEA で) 持っているように、 Yetiが IDE をサポートしていれば、私には完璧だろう。

ありがとう

編集 - - - - - - - - - - - - - - - - - -

Intellij IDEA で Clojure+Scala を使用できました。相互運用性の例:

スカラコード

Clojure コード

素晴らしい!

0 投票する
3 に答える
204 参照

java - Javaを解釈するスクリプトエンジン

Javaを解釈するJavaスクリプトエンジンを構築したオープンソースプロジェクトに出くわしたことを覚えています(いいえ、RhinoではなくJavaScript用です。Javaを実行します)。そのプロジェクトに出くわした場合は、リンクを共有してください。

(もちろん、Javaとスクリプトの単語の組み合わせをGoogleで検索すると、すべてのJavaScriptの結果が返されます。残念ながら、それは私が探しているものではありません。

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

java - あるタイプから別のタイプへのマッピングには、どの JVM ベースの言語を使用すればよいですか?

現在、Java を使用して、2 つのアプリケーション間で EAI を実行するプログラムを作成しています。1 つのアプリケーションには HL7 が付属しており、これを HAPI で解析します。これで、Java オブジェクト構造が得られました。この構造を、他の作業を行った後に JAXB で XML ファイルを生成するために使用する独自の構造に変換したいと考えています。

私の意見では、ソース コードが非常に複雑になるため、現在のソリューションはあまり良くありません。

そのような型マッピングを行うのに適した言語はどれですか? ( http://en.wikipedia.org/wiki/List_of_JVM_languages ) Java はそれを行うのに最適な言語ではないと思います。学習する時間があまりないので、学習しやすく、学習の開始点が少ない言語が必要です。関数型言語の Haskell と F# については、すでにある程度の経験があります。最初は Groovy が良い言語だと思っていましたが、Scala を示唆する別の意見を見つけました。

そのような型マッピングを行うためにどの言語を提案しますか?

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

groovy - Groovyはクロージャスコープと再帰をどのように処理しますか?

ツリーを構築する再帰的なPython関数があり、それをGroovyに変換しようとしています。

これがPythonバージョンです...

get_tree(1)の出力は次のとおりです。

そして、これをGroovyクロージャに変換する私の試みです...

しかし、これは機能しません-これはそれが返すものです...

それらの「このコレクション」とは何ですか?

私はGroovyを大まかに理解しているだけであり、Groovyが再帰とクロージャのスコープを処理する方法と関係があるのではないかと思います。

私に教えてください:)

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

python - .py ファイルで Jython を実行すると、いつ .class ファイルが生成されますか?

Jython を使い始めたばかりで、.py ファイルで jython を実行すると .class ファイルが生成されることがありますが、これは常に発生するとは限りません。

最初は、.py ファイル内に Python クラスを定義する必要があることがトリガーだと思っていましたが、それでも .class ファイルが常に生成されるとは限らないことがわかりました。

クラスファイルをトリガーするメカニズムは何ですか?

ありがとう。