The CLC owns base, with final say coming down to listed maintainers. Though in practise, it ends up being a collective opinion of the CLC + GHC HQ that drives decisions, rather than one person.
On Mon, May 24, 2021, 15:28 Oleg Grenrus <oleg.gren...@iki.fi> wrote: > To clarify, are you suggesting guidelines for GHC **and** base-library? > > I'm puzzled about ownership of base. Who have a final word about it? > ghc-devs, librar...@haskell.org, CLC, chessai alone, whoever is first? > > - Oleg > On 21.5.2021 23.21, Richard Eisenberg wrote: > > I agree with Chris here. > > Let me expand upon my counter-proposal: > > * A datatype declaration gets a standalone kind signature whenever at > least one of its type arguments has a kind other than Type. > * A class declaration gets a standalone kind signature whenever at least > one of its type arguments has a kind other than Type.(*) > * A closed type family always gets a standalone kind signature. > * A type synonym gets a standalone kind signature whenever either at least > one of its arguments has a kind other than Type or its result has a kind > other than Type. > > (*) The class rule has an exception: if a class has a superclass > constraint using Monad, Functor, Applicative, Foldable, or Traversable (or > some other class whose name textually includes one of those names, such as > MonadIO), we understand that the constrained variable must have kind Type > -> Type. If that type variable is the only one without kind Type -> Type, > then the standalone kind signature is optional. > > In cases other than those covered above, the standalone kind signature is > optional, at the discretion of the programmer. > > This suggests that Dict gets a signature, Eq does not, Fix does, and > Either does not. > > Richard > > On May 21, 2021, at 12:37 PM, Chris Smith <cdsm...@gmail.com> wrote: > > On Fri, May 21, 2021 at 2:11 AM Baldur Blöndal <baldur...@gmail.com> > wrote: > >> > encouraging the use of a standalone signature for type declarations >> where at least one parameter of the datatype does not have kind Type. >> >> So Dict, Eq both get a sig but Fix and Either do not? >> >> type Dict :: Constraint -> Type >> type Eq :: Type -> Constraint >> type Fix :: (Type -> Type) -> Type > > > That's not how I understand Richard's criteria. Dict and Fix have > non-Type parameters (Dict has a Constraint parameter, and Fix has a (Type > -> Type) parameter. On the other hand, Eq and Either have only Types as > parameters. This seems to match my intuition about when a kind signature > might be helpful, as well as yours as far as I can tell from what you wrote. > > That's not to say I am advocating any kind of rule. As I'm not really > involved in GHC development, I refrain from having any opinion. I just > think you may have misread Richard's suggestion. > > > > _______________________________________________ > ghc-devs mailing > listghc-devs@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs