学び始めて最初っからずーっとなんですが、Scalaが従来の関数型に対してオブジェクト指向とのハイブリッドだと言われるのはどういう意味でなんだろう? という疑問がありました。 関数型言語でありながら、言語にオブジェクト指向機能があり、再代入が可能な変数がある、という機能的特徴だけ取り上げると、OCamlにScalaのような呼び名が与えられず、あくまで関数型と認識されている理由が説明できない。APIのデザインがOOPっぽいか関数型っぽいか、なんてのは、いくらでも作り変えられるから言語の本質じゃないし。なんてことを思っていたのですが、最近謎が解けそうです。 どう書く?.orgのナベアツ算をお題として、ScalaとOCamlを比べてみました。 http://ja.doukaku.org/233/ 「3の倍数と3がつく数字の時だけアホになる」コードを実装して下さい。 また、余裕のあるかたは更に、 「