ネタ元:d.y.d - PPL 2008
静的型付けと動的型付けを同時にサポートする言語を作ろう、という試みがある
そのプロトタイプのために Konoha という言語が作られた
Konoha は基本的には Java ライクな静的言語である
そこに any という動的型を導入することで動的型付けもサポートする
any は C# 風に説明すれば、動的な var であり
C++ 風に説明すれば、any_cast が不要な Boost.Any である(動的な auto と考えてもらってもかまわない)
メソッドの戻り値の型や、変数宣言時の型を省略することもでき、省略された型は any となる
また、静的言語の特徴として「コンパイルエラーが発生したらコード生成を停止する」というものがある
Konoha ではこれに対して、コンパイルエラーが発生したコードは実行時例外を投げるコードに置き換えることで
たとえコンパイルエラーが発生しても実行可能なモジュールを生成する、という "Run anytime" Compiler を導入している
これにより「ちょっと試したいだけなのにコンパイルエラーが発生する…エラーが発生したとこをコメントアウトしよう」
という手間を省き生産性を向上させる
詳細は PPL2008 の 『Konoha: ハイブリッドな型検査システムを備えたスクリプティング言語』を参照していただきたい