Scala ~> (tilde greater than) operator
operators, scala
Solution
`~>` is just the placeholder-name for the type-parameter of `Category`. Like the `T` in `class Option[T]`.
Additionally, Scala syntax allows you to write `B ~> C` as a shorthand for `~>[B, C]`.
Maybe things get clearer, if you rename it:
trait Category[Mapping[_, _]] {
def compose[A, B, C](f: Mapping[B, C])(g: Mapping[A, B]): Mapping[A, C]
def id[A]: Mapping[A, A]
}
Problem
I have the following scala class definition (found in a paper), modeling categories: ``` trait Category[~>[_, _]] { def compose[A, B, C] (f: B ~> C) (g: A ~> B) : A ~> C def id[A]: A ~> A } ``` can someone explain me what the '~>' means in the Category type parameter, and in the methods return type? Or direct me to a resource that explains it... I'm new to Scala (coming from Java), so forgive me if that's something a scala user should have known... Thank you in advance