-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
We'd like to eventually use F[_] as a short-hand syntax for the type lambda [X] => F[X]. It would mean we have to switch regular wildcard syntax to F[?]. The problem is that this is the syntax currently used by KindProjector, because _ was unavailable. The tricky bit is how to shift things around?
We need a multi-version strategy for this. I am starting the version count at 3.0, but it could also be something else, 2.14, or even 2.13.
-
Scala 3.0: Both
_and?mean "wildcard". Native type lambdas remove the most pressing need for kind projector. If kind projector is still needed, it would use something else ("__" maybe?) -
Scala 3.1:
_is deprecated for wildcards -
Scala 3.2:
_is removed for wildcards -
Scala 3.3:
_is introduced as a shorthand for type lambdas
If type lambdas get introduced in 2.13, and 2.14, we could also start this process sooner.