我没有找到关于交叉路径的用途和目的的良好文档.有人可以指出我的文档或回答这些具体问题.
scala'和' scala-2.11'.难道不应该只有这两个中的一个吗?这两个文件夹的含义是什么?scala'和什么进入' scala-2.11'?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)
这两种实现都是同构的吗?
我试图从喷涂路由中的完整指令返回一个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)