タグ

2015年10月17日のブックマーク (2件)

  • Scalaジェネリクスメモ(Hishidama's Scala parameterized type Memo)

    Scalaジェネリクス(パラメータ化された型) Javaで言うジェネリクス(総称型)は、Scalaでは「パラメータ化された型(parameterized types)」と呼ぶらしい。 (でもなんか長ったらしいので、自分はひとまずジェネリクスと呼ぶことにする^^;) Scalaのジェネリクスは、型パラメーター(型引数)や型名を角括弧「[]」で囲む。(Javaは「<>」で囲む) Scalaでは、型名を囲む必要がある場合は全て角括弧に統一されているようだ。(classOf[]やisInstanceOf[]等)

  • HaskellのdoとScalaのfor式とEitherとMonadPlus - xuwei-k's blog

    標題の通り、色々書きたいことあって長くなってわかりにくくなりそうですが、頑張って書いてみます。なお、(2.8や2.9でもほぼ同じだと思いますが)Scalaのversionは2.10.1です。Haskellはghc7.4.2です。 「for文は7つしか使っていません(ドヤッ」という謎の主張を含んだスライドが最近流行っていましたが、まずScalaのfor式はMonadのための構文というのはお馴染みですよね!!! Monadそのものから説明していたらとても長くなってしまうので、そのあたりの説明は飛ばします。Scalaのfor式は、コンパイル時に内部的に以下のメソッドの組み合わせに変換されます map foreach flatMap filter withFilter なので、上記の5つのメソッド名は、予約語ではないですが、for式に変換されるという点において特別です。 for式を「Monadの

    HaskellのdoとScalaのfor式とEitherとMonadPlus - xuwei-k's blog