J'essaie de comprendre la pièce suivante de code (de la bibliothèque Scalaz):Scala: des points d'interrogation dans les paramètres de type
def kleisliIdApplicative[R]: Applicative[Kleisli[Id, R, ?]] = ...
Je suppose qu'un type de forme T[P0, ?]
est un type- constructeur qui prend un paramètre. Cependant, je ne suis pas en mesure de trouver la documentation qui explique l'utilisation des points d'interrogation dans les paramètres de type.
Une question connexe est quelle est la différence entre le point d'interrogation et un trait de soulignement?
Y a-t-il un endroit où tout cela est bien documenté?
Qu'est-ce que vous dénotez ici avec '# L'? Cette expression ne se compile pas pour moi dans Scala 2.11 – Matthias
@Matthias L est le membre de type défini dans le type anonyme (c'est-à-dire le bloc {}). Il devrait compiler, quelle erreur obtenez-vous? –
': 1: erreur: ';' '({type L [A] = Soit [Int, A]}) # L' ^ –
Matthias