对于(缩减)示例,
class SemigroupOps[F] (val self: F)(val F: Semigroup[F]) extends Ops[F] {
def |+|(other: => F): F = F.append(self, other)
}
在这种情况下, F
是一个变量,因此我希望在类似Java的库中将其视为f
。
为什么Scalaz使用大写惯例?这是一个哈斯克尔会议吗?
为什么吗
为了额外的功绩,背后的动机是什么?到目前为止,它更令人困惑而不是有用,但我知道我错过了会议背后的原因。