These are chat archives for scalajp/functional

3rd
Sep 2015
Michihito Shigemura
@shigemk2
Sep 03 2015 08:59

独習Scalaz14日目の並列合成についてですが、
http://eed3si9n.com/learning-scalaz/ja/parallel-composition.html

途中にScalaz本体にXProductを追加するくだりがあるのですが、sbt compileすると以下のようなエラーに見舞われます。

[info] Compiling 255 Scala sources to /home/shigemk2/projects/github.com/shigemk2/scalaz/core/target/scala-2.10/classes...
[error] /home/shigemk2/projects/github.com/shigemk2/scalaz/core/src/main/scala/scalaz/XProduct.scala:20: not found: type Pointed
[error]   implicit def productPointed[F[_], G[_]](implicit F0: Pointed[F], G0: Pointed[G]): Pointed[({type λ[α] = XProduct[F[α], G[α]]})#λ] = new XProductPointed[F, G] {
[error]                                                                                     ^
[error] /home/shigemk2/projects/github.com/shigemk2/scalaz/core/src/main/scala/scalaz/XProduct.scala:20: not found: type Pointed
[error]   implicit def productPointed[F[_], G[_]](implicit F0: Pointed[F], G0: Pointed[G]): Pointed[({type λ[α] = XProduct[F[α], G[α]]})#λ] = new XProductPointed[F, G] {
[error]                                                        ^
[error] /home/shigemk2/projects/github.com/shigemk2/scalaz/core/src/main/scala/scalaz/XProduct.scala:20: not found: type Pointed
[error]   implicit def productPointed[F[_], G[_]](implicit F0: Pointed[F], G0: Pointed[G]): Pointed[({type λ[α] = XProduct[F[α], G[α]]})#λ] = new XProductPointed[F, G] {
[error]                                                                        ^
[error] /home/shigemk2/projects/github.com/shigemk2/scalaz/core/src/main/scala/scalaz/XProduct.scala:71: not found: type Pointed
[error] private[scalaz] trait XProductPointed[F[_], G[_]] extends Pointed[({type λ[α] = XProduct[F[α], G[α]]})#λ] with XProductFunctor[F, G] {
[error]                                                           ^
[error] /home/shigemk2/projects/github.com/shigemk2/scalaz/core/src/main/scala/scalaz/XProduct.scala:72: not found: type Pointed
[error]   implicit def F: Pointed[F]
[error]                   ^
[error] /home/shigemk2/projects/github.com/shigemk2/scalaz/core/src/main/scala/scalaz/XProduct.scala:73: not found: type Pointed
[error]   implicit def G: Pointed[G]
[error]                   ^
[error] 6 errors found
[error] (core/compile:compile) Compilation failed
[error] Total time: 87 s, completed 2015/09/03 17:52:27
  • Pointedが定義されていないっぽい
  • ブランチはscalaz-sevenから切っている
  • XProductを追加した場所はcore/src/main/scala/scalaz/

です。

kenji yoshida
@xuwei-k
Sep 03 2015 09:01
Pointedは、大昔(?)に存在したけどなくなった型クラスです (独習scalazを最初に書いたときは存在してた)
Pointed関連のコードを消して動くならそうするだけ(消しただけじゃ動かなくて、他も修正しないといけないなら頑張る)
独習scalaz使って勉強するなら、動かないところ残ってるのをある程度覚悟で頑張る必要はあります
Michihito Shigemura
@shigemk2
Sep 03 2015 09:12
なるほど、今はない型クラスなんですね。
正直言って、僕は「Scalazが21日で独習出来る!」と誤解していました。が、序盤にすごいHaskellのコードが頻繁に出てくるのを始め、FPや圏論関連の本や論文が大量に出てくるうえにソースコードが特定のバージョンに依存しているところが多いので、予め外堀というか、前提知識が必要であるという覚悟と認識になりました。
kenji yoshida
@xuwei-k
Sep 03 2015 09:45
特定の人が「独習した記録」を書いただけなので、読んでもscalaz理解できる保証は全くないのと、scalazのすべてのクラス網羅してるわけでもないですね(別によこたさんや独習scalazそのものをdisりたいのではなく、よくそうやって勘違いされてるので)