Yeah that’s roughly exactly it On Mon, May 24, 2021 at 4:37 PM chessai <chessai1...@gmail.com> wrote:
> 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 >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs