我是Scala的初学者,来自面向对象的范式。在理解Scala的函数编程部分时,我被引导到Haskell--纯函数式编程语言。
探索SO问答,我发现Java - Haskell具有互操作性。
我很想知道Scala-Haskell的互操作性是否同样存在?
可以在Scala应用程序中使用用Haskell编写的函数库吗?
根据Don Stewart给出的答案:有可能。
在Scala应用程序中集成Haskell函数库将是简单易行还是需要进行复杂的调整?
使用集成的Haskell函数库,Scala应用程序将在JVM上运行还是需要不同的安排?
答案 0 :(得分:4)
有可能,但我不知道任何例子。
答案 1 :(得分:4)
我发现Java - Haskell具有互操作性。我很想知道Scala-Haskell的互操作性是否同样存在?
鉴于互操作性具有传递性,并且考虑到(hj_interop : Haskell <-> Java)
和(js_interop : Java <-> Scala)
,因此我们得出结论Haskell <-> Scala
。
如果您需要Haskell -> Scala
,请从Haskell -> Java
获取hj_interop
,从Java -> Scala
获取js_interop
。如果您需要Scala -> Haskell
,请从Scala -> Java
获取js_interop
,从Java -> Haskell
获取hj_interop
。
对于如何实现Haskell - Scala互操作性,这不是一个非常有用的解释,但鉴于现有的互操作性,您只需要以明显的方式组合它们。除了提供scalaz
向Scala添加额外的Haskell-y感觉之外,Scala不提供与Haskell直接,方便的互操作性。 Haskell没有提供我所知道的与Scala的任何直接,方便的互操作性。