This post is spurred by the quantity of activity on recent SIP-related threads:
- Proposal To Revise Implicit Parameters
- Principles for Implicits in Scala 3
- Proposal to Add Implied Instances to the Language
Each of these topics has a large amount of interest and discussion, which is healthy. Nonetheless, each Discourse topic has multiple concurrent threads of discussion, and I don’t think I would be alone in saying that following any individual logical thread is difficult. Even splitting out things into multiple topics (e.g. as we have done for high-level principles v.s. low-level syntax) only helps to a limited extent: each sub-topic’s discussion is still far too large and diverse to understand in this linear Discourse format.
As a result, comments get repeated often, comments get buried. Sub-discussions of interest to only a few participants can easily overwhelm everyone else, and topics tend to stop not when all points have been made, but simply when the weight of the understanding the 100+ post topic history becomes too much for any human to handle. This is not the fault of any individual, but simply due to the format of the Discourse forum.
The Scala Reddit (https://www.reddit.com/r/scala) provides an interesting counter-proposal: Reddit’s topics are hierarchical, meaning multiple logical threads of discussion within a single topic are easily segregated and discussed independently. Top-level posts of broad interest are unlikely to get buried, while throwaway posts of little interest naturally move out of the way of discussion. It is much easier for someone to navigate a large discussion, collapsing the subsections they are not interested in and finding the parts which are most relevant to them. Active sub-discussions can take place for those who are interested without causing any inconvenience to others who are not.
While r/scala has a reputation in the past for being hostile, recent changes in active moderation has greatly improved the situation. While we could always do better, I don’t think the current quality or friendliness of discussion on Reddit is any lower than this Discourse or other places.
Personally, I find understanding and interacting with a large discussion (e.g. 5 separate sub-topics of 20 posts each) is much easier on r/scala than in this Discourse forum. I think this would help greatly in structuring the discussion around these more high-volume topics, making it more productive and less frustrating for everyone involved.
What do people think? @odersky would you be interested in trying this?