>>256
implicit parameterの略記法
一番典型的なのがManifestかな

def hoge[A](a: A)(implicit m: Manifest[A]) = manifest[A]

def hoge[A: Manifest](a: A) = manifest[A]

この二つが同じ意味


型クラス的な使い方でもよく出る
上記のFunctorが既に定義されているとして

def myMap[F[_]: Functor, A, B](a: F[A])(f: A => B) = implicitly[Functor[F]].map(a)(f)

こう書くと

scala> myMap(List(1,2,3))(2*)
res13: List[Int] = List(2, 4, 6)

こんな感じで動く


そして自分で書いて思ったけど、型クラスってやっぱり駄目だな
こんなの覚える必要ないわ
型クラスもContext Boundもみんな忘れよう