FAQ - 制限
現在のScala実装の制限は何ですか?
.NET上でScalaは動作しますか?
breakやcontinueをScalaに追加する予定はありますか?
何故XYZのような機能が統合されていないのでしょうか?
現在のScala実装の制限は何ですか?
現在のScalaコンパイラはScala言語仕様を全て実装しています。
.NET上でScalaは動作しますか?
はい。現在のScala処理系は.NETプラットフォームのコードにコンパイルできます(訳注:この点は情報が古いです)。.NETプラットフォームは多くの点でJavaと似ていますが、多くの独自機能を持っており、.NETのコードにコンパイルできるようにするのはやっかいな仕事です。MSIL/.NETバージョンのScalaは仮想的にScala言語の機能全体および、ほとんどの標準ライブラリを実装しています。一つの大きな制限は、構造的部分型はまた.NETでは動かない事です。複雑な例外ハンドラを使うときにも、問題があります。いくつかのライブラリは、.NETの特性のために利用することができません。また、他の.NET言語との相互運用もサポートされていません。詳細については、このドキュメントページ(もしかしたら既に時代遅れになっているかもしれませんが)を参照してください。
breakやcontinueをScalaに追加する予定はありますか?
ありません。それらの機能を導入するとScalaが現在よりもかなり複雑になります。また、そのような種類の制御を表現する方法は既にいくつもあります。
何故XYZのような機能が統合されていないのでしょうか?
言語設計の多くは、何を入れるかよりも、何を取り除くかの方がより重要です。しかしながら、もしScalaについて何かおかしいと感じる点があれば、メーリングリストでたずねてください。