Meanings of underscore (including wildcard imports)

I’m in favor of the * wildcard change (I’d have to be, since I proposed it!) and am neutral on the as change.

I do think as does look nicer, and renaming with braces is certainly nice as well, but it’s balanced out by the churn it adds to the language. Overall a wash, and given how infrequent renaming-imports are in the code I work with it’s probably not a huge deal.

I will repeat though that we can’t keep this churn up forever. Scala3 is already supposed to be months into feature freeze, so the choices are either (1) we lock down now and begin rigorously polishing (both implementation and spec) in preparation for release (2) we postpone the release to allow more ideation and lock down later or (3) we ship a half-baked language with a bunch of poorly-thought-through last minute changes with problematic interactions and unforeseen consequences that we’re stuck with for the next decade.

Those are the paths that lie ahead whether we like it or not. While I’m neutral between (1) and (2), (3) is equally likely if we’re not careful, and is something we need to avoid at all costs.

17 Likes