by shigemk2

当面は技術的なことしか書かない

カインドとアリティ

カインドは型コンストラクタの型、もしくはより一般的ではないが高階型演算子の型

カインド (型理論) - Wikipedia

実際にはアリティ指定子とも言われる。

アリティ - Wikipedia

なお、すごいH本には、P228に「型コンストラクタの種類」としれっと書いてある。

型コンストラクタの種類( kind )は * -> *

そして、型コンストラクタは、型を引数に取って具体型を返すと説明されている。

www.slideshare.net

Scalaにおける#(シャープ)

ググラビリティ低すぎる話題が、ScalaやHaskellには多い。

この場合は、"scala sharp"でググると、知りたいことが得られたりはする。

stackoverflow.com

要点としては以下。

中に別のクラスが定義されているクラスにおいて、内部クラスが型となっている引数のメソッドを呼び出す場合、A.Bみたいな書き方はできなくて、a1.Bもしくはa2.Bみたいな書き方しか出来ない。a1.B≠a2.Bであるが、それはたとえばPHPでいうところの==と===のレベルではなく、そもそも「型が違う」と怒られる。なので、a1のf関数の引数はa1のBであって、別のインスタンスのBではない。

これを回避するために、Scalaでは#が用意されている。#を使うと、a1インスタンスのf関数の引数にa1とは違うインスタンスを引数とすることが出来る。

gist.github.com

なお、#については、ここにも書いてあったりはする。 Jim McBeath: Scala Syntax Primer

でも、#が使えると何が嬉しいのかは知らない。。。

荒野ニオケルbloodthirsty butchers

荒野ニオケルbloodthirsty butchers

Cannot run program "pf": error=2, when executing "sbt packageSite"

github.com

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でした。