Rascal のドキュメントによると、言語は静的に型付けされています。ただし、型エラーは実行時にのみ報告されます。
たとえば、このモジュールを作成すると、int 変数に実数を割り当てているため、型エラーが発生することが予想されます。
module Example
void example() {
int x = 1.0;
println(x);
}
モジュールを REPL にインポートし、最後に関数を実行すると:
rascal>import Example;
ok
rascal>example()
|project://Test/src/Example.rsc|(39,7,<4,6>,<4,13>): Expected int, but got real
☞ Advice