FAQ - 制限

    1. 現在のScala実装の制限は何ですか?

    2. .NET上でScalaは動作しますか?

    3. breakやcontinueをScalaに追加する予定はありますか?

    4. 何故XYZのような機能が統合されていないのでしょうか?

現在のScala実装の制限は何ですか?

現在のScalaコンパイラはScala言語仕様を全て実装しています。

.NET上でScalaは動作しますか?

はい。現在のScala処理系は.NETプラットフォームのコードにコンパイルできます(訳注:この点は情報が古いです)。.NETプラットフォームは多くの点でJavaと似ていますが、多くの独自機能を持っており、.NETのコードにコンパイルできるようにするのはやっかいな仕事です。MSIL/.NETバージョンのScalaは仮想的にScala言語の機能全体および、ほとんどの標準ライブラリを実装しています。一つの大きな制限は、構造的部分型はまた.NETでは動かない事です。複雑な例外ハンドラを使うときにも、問題があります。いくつかのライブラリは、.NETの特性のために利用することができません。また、他の.NET言語との相互運用もサポートされていません。詳細については、このドキュメントページ(もしかしたら既に時代遅れになっているかもしれませんが)を参照してください。

breakやcontinueをScalaに追加する予定はありますか?

ありません。それらの機能を導入するとScalaが現在よりもかなり複雑になります。また、そのような種類の制御を表現する方法は既にいくつもあります。

何故XYZのような機能が統合されていないのでしょうか?

言語設計の多くは、何を入れるかよりも、何を取り除くかの方がより重要です。しかしながら、もしScalaについて何かおかしいと感じる点があれば、メーリングリストでたずねてください。