「【新・言語進化論】次にくる!新登場言語」

http://www.thinkit.co.jp/free/article/0711/4/

なる連載を発見。Scalaの回が特に面白い。

これらを踏まえてScalaが依然として静的型付け言語であるということを思い出してほしい。「動的言語の特徴のように見える物」が、実はそうでもないことがみえてくるのではないだろうか。実際Scalaを学んでいくと「型安全性と実行効率を引き換えに記述性と柔軟性を手に入れる」という「動的言語の常識」が覆されていくような感覚すら覚えるほどだ。

追記:Scalaをまったく知らないのですが(←知れよ)、OCamlみたく変数だけでなくsafeCloseのようなメソッドの型も推論してくれないのでしょうか。

# let safeClose x = if not x#isClosed then x#close ;;
val safeClose : < close : unit; isClosed : bool; .. > -> unit = <fun>