nullを許すかどうかを明示的に分ける言語
多分、constとかと同じようにmodifierみたいにするといいのでは?
例えば以下のような感じです。nullable が新しいキーワードです。
nullable File findFile(File path, String pattern) { for (File f : path.listFiles()) { if (match(f, pattern)) return f; // 見つかった } return null; // 見つからなかった }
引数 path, patternはnull不可です。
戻り値はnull可です。だから return null も可能です。
また、nullableな変数をそうでない変数に代入することはできません。
その逆は可能です。