カインドは型コンストラクタの型、もしくはより一般的ではないが高階型演算子の型
実際にはアリティ指定子とも言われる。
なお、すごいH本には、P228に「型コンストラクタの種類」としれっと書いてある。
型コンストラクタの種類( kind )は * -> *
そして、型コンストラクタは、型を引数に取って具体型を返すと説明されている。
www.slideshare.net
カインドは型コンストラクタの型、もしくはより一般的ではないが高階型演算子の型
実際にはアリティ指定子とも言われる。
なお、すごいH本には、P228に「型コンストラクタの種類」としれっと書いてある。
型コンストラクタの種類( kind )は * -> *
そして、型コンストラクタは、型を引数に取って具体型を返すと説明されている。
www.slideshare.net
ググラビリティ低すぎる話題が、ScalaやHaskellには多い。
この場合は、"scala sharp"でググると、知りたいことが得られたりはする。
要点としては以下。
中に別のクラスが定義されているクラスにおいて、内部クラスが型となっている引数のメソッドを呼び出す場合、A.Bみたいな書き方はできなくて、a1.Bもしくはa2.Bみたいな書き方しか出来ない。a1.B≠a2.Bであるが、それはたとえばPHPでいうところの==と===のレベルではなく、そもそも「型が違う」と怒られる。なので、a1のf関数の引数はa1のBであって、別のインスタンスのBではない。
これを回避するために、Scalaでは#が用意されている。#を使うと、a1インスタンスのf関数の引数にa1とは違うインスタンスを引数とすることが出来る。
なお、#については、ここにも書いてあったりはする。 Jim McBeath: Scala Syntax Primer
でも、#が使えると何が嬉しいのかは知らない。。。
I see "Cannot run program "pf": error=2," when executing "sbt packageSite". My environment is * Fedora 20 * sbt 0.13 * scala 2.11.7
sbt packageSite [info] Loading global plugins from /home/shigemk2/.sbt/0.13/plugins [info] Loading project definition from /home/shigemk2/projects/github.com/shigemk2/learning-scalaz/project [info] Updating {file:/home/shigemk2/projects/github.com/shigemk2/learning-scalaz/project/}learning-scalaz-build... [info] Resolving org.fusesource.jansi#jansi;1.4 ... [info] Done updating. [info] Set current project to learning-scalaz (in build file:/home/shigemk2/projects/github.com/shigemk2/learning-scalaz/) java.io.IOException: Cannot run program "pf": error=2, そのようなファイルやディレクトリはありません
Maybe there's no command "pf" in my computer, but I don't know what "pf" command is.
pf はPamfletでした。