Implicit Arguments
==================
```Example from 1 languages: Scala
// https://docs.scala-lang.org/tour/implicit-parameters.html
abstract class Monoid[A] {
def add(x: A, y: A): A
def unit: A
}
object ImplicitTest {
implicit val stringMonoid: Monoid[String] = new Monoid[String] {
def add(x: String, y: String): String = x concat y
def unit: String = ""
}
implicit val intMonoid: Monoid[Int] = new Monoid[Int] {
def add(x: Int, y: Int): Int = x + y
def unit: Int = 0
}
def sum[A](xs: List[A])(implicit m: Monoid[A]): A =
if (xs.isEmpty) m.unit
else m.add(xs.head, sum(xs.tail))
def main(args: Array[String]): Unit = {
println(sum(List(1, 2, 3))) // uses intMonoid implicitly
println(sum(List("a", "b", "c"))) // uses stringMonoid implicitly
}
}
```
*
Languages *with* Implicit Arguments include Scala, Aardvark
*
View all concepts with or missing a *hasImplicitArguments* measurement
http://pldb.info/../lists/explorer.html#columns=rank~id~appeared~tags~creators~hasImplicitArguments&searchBuilder=%7B%22criteria%22%3A%5B%7B%22condition%22%3A%22null%22%2C%22data%22%3A%22hasImplicitArguments%22%2C%22origData%22%3A%22hasImplicitArguments%22%2C%22type%22%3A%22num%22%2C%22value%22%3A%5B%5D%7D%5D%2C%22logic%22%3A%22AND%22%7D missing
http://pldb.info/../lists/explorer.html#columns=rank~id~appeared~tags~creators~hasImplicitArguments&searchBuilder=%7B%22criteria%22%3A%5B%7B%22condition%22%3A%22!null%22%2C%22data%22%3A%22hasImplicitArguments%22%2C%22origData%22%3A%22hasImplicitArguments%22%2C%22type%22%3A%22num%22%2C%22value%22%3A%5B%5D%7D%5D%2C%22logic%22%3A%22AND%22%7D with
*
Read more about Implicit Arguments on the web: 1.
https://docs.scala-lang.org/tour/implicit-parameters.html 1.
Built with Scroll v178.2.3