<div dir="ltr"><div>I just flipped through the list of accepted GHC proposals[1]. I feel like a kid in a candy shop. I am particularly excited to see the large fraction of proposals that look like either simplifications or homogenizations (making the language more uniform):<br></div><div><br></div><div>* Make Constraint not apart from Type</div><div>* Allow signatures on pattern synonym constructors</div><div>* Explicit foralls ("Permit ``forall ...`` to bind type variables after the word ``instance`` ...")</div><div>* Remove the * kind syntax</div><div>* Allow ScopedTypeVariables to refer to types</div><div>* Treat kind and type vars identically with `forall`</div><div>* Embrace (Type :: Type) ("This proposal expands the meaning of -XPolyKinds to include -XTypeInType, deprecates -XTypeInType, and advocates for using Type in place of *.")</div><div><br></div><div>At various times, I have tried to explore the GHC extensions thoroughly -- well enough to know which ones will let you do what, so that I can learn the right one in detail when I need to. I have always turned back; the space seems too big to cover, and only growing. But now I see that GHC hosts competing forces of simplification and complication.</div><div><br></div><div>This might be a squishy question, but I'm interested in your feelings regarding how navigable the space of extensions is, and whether you think balkanization is a problem, and how you expect those qualities to evolve.</div><div><br></div><div>[1] <a href="https://github.com/ghc-proposals/ghc-proposals/pulls?page=2&q=label%3AAccepted">https://github.com/ghc-proposals/ghc-proposals/pulls?page=2&q=label%3AAccepted</a></div><div><br></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank">Website</a>   |   <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a>   |   <a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">(spammy, so I often miss messages here)   </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px">   </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a><span style="font-size:12.8px">   </span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>