Scala Language Implicits Implicits in the REPL


Example

To view all the implicits in-scope during a REPL session:

scala> :implicits

To also include implicit conversions defined in Predef.scala:

scala> :implicits -v

If one has an expression and wishes to view the effect of all rewrite rules that apply to it (including implicits):

scala> reflect.runtime.universe.reify(expr) // No quotes. reify is a macro operating directly on code.

(Example:

scala> import reflect.runtime.universe._
scala> reify(Array("Alice", "Bob", "Eve").mkString(", "))
resX: Expr[String] = Expr[String](Predef.refArrayOps(Array.apply("Alice", "Bob", "Eve")(Predef.implicitly)).mkString(", "))

)