小编ade*_*for的帖子

何时将crosspaths设置为true?

我没有找到关于交叉路径的用途和目的的良好文档.有人可以指出我的文档或回答这些具体问题.

  1. 我的Scala版本是2.11.6,但是当crosspaths设置为true时,我会看到两个源文件夹 - ' scala'和' scala-2.11'.难道不应该只有这两个中的一个吗?这两个文件夹的含义是什么?
  2. 什么代码进入' scala'和什么进入' scala-2.11'?

sbt scala-2.11

8
推荐指数
1
解决办法
1709
查看次数

在scalaz中免费实现

Haskell中的Free实现是:

data Free f a =
Pure a
| Free (f (Free f a))
Run Code Online (Sandbox Code Playgroud)

然而,Scalaz中的实现是:

sealed abstract class Free[S[_], A]

private case class Return[S[_], A](a: A) extends Free[S, A]
private case class Suspend[S[_], A](a: S[A]) extends Free[S, A]
private case class Gosub[S[_], B, C](a: Free[S, C], f: C => Free[S, B]) extends Free[S, B]
Run Code Online (Sandbox Code Playgroud)

为什么scalaz实现不像Haskell,如:

sealed trait Free[F[_],A]
case class Return[F[_],A](a: A) extends Free[F,A]
case class GoSub[F[_],A](s: F[Free[F,A]]) extends Free[F,A]
Run Code Online (Sandbox Code Playgroud)

这两种实现都是同构的吗?

scala scalaz free-monad

7
推荐指数
1
解决办法
179
查看次数

spray Collection ToResponseMarshallable

我试图从喷涂路由中的完整指令返回一个List.

complete {
  List("hello")
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误 -

Expression of type List[String] doesn't conform to expected type ToResponseMarshallable
Run Code Online (Sandbox Code Playgroud)

我和Seq有同样的错误.我看到默认情况下不在spray-httpx 文档中提供List和Seq的marshallers .但是,spray-json在其DefaultJsonProtocol中提供了编组支持.我在我的代码中导入了spray.httpx.SprayJsonSupport._和spray.json.DefaultJsonProtocol._,但这也没有帮助.

知道如何使用spray-json编组List/Seq?或者我必须写自己的Marshaller?

(我的scala版本是2.11.4)

scala scala-collections spray spray-json

5
推荐指数
1
解决办法
4535
查看次数