[ghc-steering-committee] #540: parallelism semaphores, recommendation: *accept*

Eric Seidel eric at seidel.io
Thu Feb 23 17:57:14 UTC 2023


On Tue, Feb 14, 2023, at 00:59, Arnaud Spiwack wrote:
> I would like to oppose the argument that “it's already implemented” is 
> a strong argument for this court. It certainly helps evaluate 
> feasibility, but we are supposed to evaluate whether something is a 
> good idea.

(I know you ultimately support this proposal, but I want to push back a bit on this argument.)

I think it's a bit more nuanced than that. We are supposed to evaluate whether a proposed change will improve GHC compared to the alternatives (one of which is always "do nothing"). This is unavoidably a question of cost/benefit tradeoffs.

One of the costs we must evaluate is implementation cost (others are maintenance cost, language complexity cost, etc). If the implementation is believed to be costly, in terms of time or blast radius, or similarly if nobody has signed up to do the work, we should absolutely discount the proposal compared to other, cheaper alternatives. We may still decide in favor of the more costly option if we believe the benefits outweigh the cost, but we cannot ignore cost as a factor.

In this particular case, my reasoning is the following:

* We have a proposed solution that might capture 80% of the value, but clearly not 100%.
  * The proposed solution has a very low implementation cost (the work is largely done), and appears to have a low maintenance cost (though that should be re-evaluated in the actual MR!).

* There are ideas for alternate solutions that would likely get closer to capturing the full value, BUT
  * They lack a complete design, which means the cost is quite unclear, along many axes.
  * Nobody is offering to flesh out the design, much less commit to the implementation of the alternates.

* Finally, as far as I can tell, nothing about the current 80% proposal precludes us from pursuing the 100% alternatives later on.

As a result, I view this proposal as a low-cost, incremental improvement that does not conflict with the North Star solution. It would be even better if it moved us closer to the North Star, but my bar for low-cost changes is "non-conflicting".


More information about the ghc-steering-committee mailing list