Tag: scala

functionOO混合语言的devise模式?

Scala等语言已经有最佳实践吗? 我已经find了function语言的devise模式,function性战略编程的devise模式 。 有OO语言的GoFdevise模式。 但是functionOO混合动力车有没有什么模式? 我所见过的就是这个清单。 什么是已知的?

用于Play 2.2库的无噪声JSON格式,用于密封特征

我需要用最less的仪式来获得一个简单的JSON序列化解决scheme。 所以我很高兴find即将推出的Play 2.2库 。 这适用于普通的案例类,例如 import play.api.libs.json._ sealed trait Foo case class Bar(i: Int) extends Foo case class Baz(f: Float) extends Foo implicit val barFmt = Json.format[Bar] implicit val bazFmt = Json.format[Baz] 但是下面的失败: implicit val fooFmt = Json.format[Foo] // "No unapply function found" 我将如何为Foo设置所谓的失踪提取器? 或者,你会推荐任何其他独立的库,或多或less地自动处理我的情况? 我不在乎是在编译时使用macros,还是在运行时reflection,只要它是开箱即用的。

为什么Scala中的PartialFunction <:Function?

在Scala中, PartialFunction[A, B]类是从Function[A, B]types派生的(参见Scala参考,12.3.3)。 但是,这对我来说似乎是违反直觉的,因为一个Function (需要为所有A定义)比PartialFunction有更严格的要求,在某些地方可能是未定义的。 我遇到的问题是,当我有一个部分函数,​​我不能使用Function来扩展部分函数。 例如。 我不能做: (pf orElse (_)=>"default")(x) (希望语法至less是远程的权利) 为什么这个子types是相反的? 是否有任何我忽略的原因,比如Functiontypes是内置的? 顺便说一句,如果Function1 :> Function0 ,这也不错,所以我不需要在上面的例子中有伪参数:-) 编辑澄清子types问题 两种方法的区别可以通过两个例子来强调。 哪一个是对的? 一: val zeroOne : PartialFunction[Float, Float] = { case 0 => 1 } val sinc = zeroOne orElse ((x) => sin(x)/x) // should this be a breach of promise? 二: def foo(f : […]

什么ORM与Scala一起工作良好?

我即将编写一个依赖于MySQL数据库的Scala命令行应用程序。 我一直在四处寻找ORM,并且很难find一个能够正常工作的。 Lift ORM看起来不错,但我不确定它可以从整个Lift Web框架中分离出来。 ActiveObjects也看起来不错,但作者说,它可能不适用于Scala。 我不是从Java来的Scala,所以我不知道所有的select。 有没有人使用Scala的ORM,如果是的话,你使用了什么,它有多好?

阿卡在演员外面login

我有一个Akka Actor来调用MyObject.foo()。 MyObject不是一个Actor。 我如何设置login? 与一个演员很简单,因为我可以混入ActorLogging。 在MyObject中,我无法访问context.system。 我是否使用AkkaSystem()创buildakka.event.Logging,然后LogSource是隐式的?

scala.concurrent.blocking – 它实际上做了什么?

我花了一段时间学习Scala执行上下文,底层线程模型和并发的主题。 你可以解释scala.concurrent.blocking “调整运行时行为”和“可以提高性能或避免死锁”的方式吗? 在文档中 ,它是作为一种手段来等待api不能实现的。 (也许只是长时间运行的计算应该被包装?)。 它到底是什么? 通过源头不容易背叛其秘密。

PermGen与电梯和docker的问题

我正在开发标准的升降平台(maven和jetty)。 我反复(每隔几天一次)得到这个: Exception in thread "7048009@qtp-3179125-12" java.lang.OutOfMemoryError: PermGen space 2009-09-15 19:41:38.629::WARN: handle failed java.lang.OutOfMemoryError: PermGen space 这是在我的开发环境。 这不是问题,因为我可以继续重新启动服务器。 在部署我没有这些问题,所以这不是一个真正的问题。 我只是好奇。 我不太了解JVM。 我认为我认为永久的一代记忆是用于类和string的东西是正确的? 我记得有点与.NET内存模型混淆了… 为什么会发生这种情况? 默认值是疯狂的低? 它是否与所有的Scala必须为函数对象和类似的FP事物创build的辅助对象? 每次我用新编写的代码(每隔几分钟)就重新启动Jetty,我想它会重新加载类。但是即使如此,它不能成为那么多吗? JVM不能够处理大量的类吗? 干杯 乔

面向对象的编程在纯粹的函数式编程环境中?

在函数式编程(FP)环境中使用面向对象编程(OOP)有什么优势? 我已经使用F#一段时间了,我注意到我的函数越是没有状态,我就越需要将它们作为对象的方法。 特别是,依靠types推断使它们在尽可能多的情况下可用是有利的。 这并不排除需要一些与OOP正交的forms的命名空间。 也不鼓励使用数据结构。 实际上,FP语言的实际使用在很大程度上依赖于数据结构。 如果你看看F Sharp Programming / Advanced Data Structures中实现的F#栈,你会发现它不是面向对象的。 在我看来,面向对象与处理对象状态的方法主要是为了改变对象有很大关系。 在一个纯粹的FP环境中,这是不需要也不需要的。 一个实际的原因可能是能够与OOP代码交互,就像F#与.NET一样 。 除此之外,有没有什么原因? Haskell世界的经验是什么?编程更纯粹的FP? 我会很感激任何关于这个问题的论文或反事实的例子。

代码覆盖工具为斯卡拉

Scala有哪些可用的代码覆盖工具? 我有斯卡拉规格testing和哈德森持续集成设置。 有什么我可以挂钩到这个设置来衡量和跟踪代码覆盖率?

testing一个不能编译的断言

问题 当我使用支持types级编程的库时,我经常发现自己写下如下的评论(从Paul Snively在Strange Loop 2012上提供的例子 ): // But these invalid sequences don't compile: // isValid(_3 :: _1 :: _5 :: _8 :: _8 :: _2 :: _8 :: _6 :: _5 :: HNil) // isValid(_3 :: _4 :: _5 :: _8 :: _8 :: _2 :: _8 :: _6 :: HNil) 或者,从无形存储库的一个例子 来看 : /** […]