問題タブ [scala-compiler]

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

scala - メソッドを別のメソッドでラップすると、Scala で型の不一致が解消されるのはなぜですか? パターン マッチの型パラメーターにアンダースコアを使用するのはなぜですか?

次のコード ブロック (scala2.11との両方2.12) では、メソッドapplyはコンパイルされませんが、コンパイルされますapplyInlined

エラーメッセージは

  1. 私の主な質問は、なぜですか?これはバグですか?

ご覧のとおり、メソッドapplyInlinedの本体がインライン化されているという点だけが異なります。wrappedこれは、メソッド内の一部のコードの余分なラップが何らかの形でコンパイラを「だまして」動作させたことを意味します。

  1. もう1つの質問は、共変にせにこの種のことを回避する設計/ハックを考えてもらえBlarますか? インライン バージョンをコンパイルするにはどうすればよいですか? でできますかasInstanceOf

  2. wrapped明示的な型パラメーターなしで呼び出すために型を推測するscalaは何ですか?

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

scala - 既存の scala コンビネーター パーサーを探しています

scala コンビネーターを使用して作成されたパーサーを含むリポジトリはありますか? 私はscalaコンビネーターの使用を検討していますが、それは一般的な言語(python、c、java、cpp、scala、haskell)の既存のパーサーを見つけることに依存しています。