Sintaxis de tipo Scala
He observado que, si quiero hacer una función genérica que pueda aceptar una lista de cualquier tipo y devolver un valor booleano, puedo usar la siguiente sintaxis para una declaración de función:
def someFunction[A](l:List[A]):Boolean
Sin embargo, también puedo lograr una declaración de función equivalente con esta sintaxis:
def someFunction(l:List[_]):Boolean
La última sintaxis tiene sentido para mí; el guión bajo indica un comodín para una Lista de cualquier tipo. Sin embargo, el primero es confuso; ¿Cuál es la diferencia semántica entre los dos tipos de sintaxis, si hay una? Nota: Noté que podía usar [B] o [c] o incluso [%] en lugar de "[A]" en el primer ejemplo de sintaxis.