言語知る。
関数型とオブジェクト指向のハイブリット言語で、JVM上で動くらしい。
一言で言うとNemerleのJava版って感じ。
で、関数の型がなんというか、俺が考えてたのと同じような形になってるってこと。
で、完全に完成された形か?っていうと、微妙みたい。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20060410
よかったのか、悪かったのかはよくわかんないけど。
最近、リードマクロで何でも出来るってのは作れそうにないなぁって気がしてきたことやら、
ユーザー演算子定義さえあったら、結構いろいろな表現ができて十分なんじゃなかろうかとか、
そんな気分なので、NemerleよりScalaのほうがいいかもなぁなんて思うのでした。
scala> def f(x:Int)(y:Int) = x + y; f: (scala.Int)(scala.Int)scala.Int scala> val f = (x:Int) => (y:Int) => x + y f: (scala.Int) => (scala.Int) => scala.Int =scala> f(1) line25: (scala.Int) => scala.Int =
このへんの型が、なんで、=>がついてたり、ついてなかったりするんだ、、、。
どっちなんだ?なんでなんだって感じ。
どっちにしても、ここらへんで、
にたようなことを考えてられてるんだなってのは分かる。
とにもかくにも、
(scala.Int)(scala.Int)scala.Int
このような、型を持ってる言語は始めてみたので嬉しくなったのでした。