Take the 2-minute tour ×  I can see in the API docs for Predef
that they're subclasses of a generic function type (From) => To,
but that's all it says. Um, what? Maybe there's documentation
somewhere, but search engines don't handle "names" like "<:<"
very well, so I haven't been able to find it.  Follow-up
question: when should I use these funky symbols/classes, and
why?  share|improve this question Here is a related question
which may answer your question at least partially:
stackoverflow.com/questions/2603003/operator-in-scala –  Yardena
Aug 6 '10 at 20:15 symbolhound.com is your code search friend :)
–  ron Jul 12 '12 at 12:06 add comment  4 Answers  up vote 107
down vote accepted  These are called generalized type
constraints. They allow you, from within a type-parameterized
class or trait, to further constrain one of its type parameters.
Here's an example:  case class Foo[A](a:A) { // 'A' can be
substituted with any type     // getStringLength can only be
used if this is a Foo[String]     def getStringL