Life Goes On

まあまあだけど楽しんでる方です

Scala

Scala は関数型言語ではない

http://enfranchisedmind.com/blog/posts/scala-not-functional/ via http://d.hatena.ne.jp/camlspotter/20090515/1242349686最近、気になっている話題だったので、頑張って読んでみました。 ちょっと煽り気味の文章だし、明らかな間違い(カリー化の話)と…

リスト処理

関数型言語のいいところは、何といっても高階関数と遅延評価だと思うのです。 というわけで、Scala の高階関数(リスト処理)を見てみました。 まずぱっと思ったのが、zipWith と scanLeft が欲しいということ。 zip → map とするよりは zipWith 一発で書き…

Scala の for 構文はただのリスト内包表記じゃないよ

Scala の for 構文(とりあえずこう呼びます)がただのリスト内包表記なら、いちいちモナドとか言わない方がいいんじゃない?とかいうことを昨日書いたのですが、for 構文は Seq 型だけじゃなくて Option 型とか他の「モナドっぽい」型にも使えるよ、という…

Scala の for-comprehension はモナドなの?

JJUG のカンファレンスで、Scala の for は実はモナドで‥‥みたいなことを聞いたので、具体的にどういうことなのか調べてみました。 for-comprehension (for 内包表記?) は↓みたいな構文です。 scala> for (x <- 0 to 5; y <- 0 to 5 if (x+y)%3==0) yield x…

Scala を知る

今まで「Scala って Java と Haskell の中途半端なコピーでしょ」って思いこんでいたのだけど、JJUGのカンファレンス で修正されました。 Scala って Java よりずっと純粋なオブジェクト指向言語だったんだ! +がメソッド(5.+(7)とか書ける)ってカコイイ…