I did, see here: https://gitlab.haskell.org/jvanbruegge/ghc/blob/73b383275f3d497338ca50a3a7934445c3858450/compiler/prelude/TysWiredIn.hs#L235
Am 03.04.19 um 16:28 schrieb Simon Peyton Jones: > > Make sure you add the new wired in this to `TysWiredIn.wiredInTyCons` > > > > *From:*ghc-devs <[email protected]> *On Behalf Of *Jan van > Brügge > *Sent:* 03 April 2019 12:06 > *To:* [email protected] > *Subject:* Defining a wired-in type of a different kind > > > > Hi, > > when trying to get familiar with the GHC code base for my Bachelor's > thesis. I followed the GHC Wiki, especially the case study about the > bool type. > Now I wanted to add a new kind and a new type inhabiting this kind > (without having to expose a data constructor, so without datatype > promotion). > > So in TysWiredIn.hs I added the new TyCons and added them to the list of > wired-in types: > > -- data Row a b > rowKindCon :: TyCon > rowKindCon = pcTyCon rowKindConName Nothing [alphaTyVar, betaTyVar] [] > > rowKind :: Kind > rowKind = mkTyConTy rowKindCon > > -- data RNil :: Row a b > rnilTyCon :: TyCon > rnilTyCon = mkAlgTyCon rnilTyConName [] rowKind [] Nothing [] > (mkDataTyConRhs []) > (VanillaAlgTyCon (mkPrelTyConRepName rnilTyConName)) > False > > rnilTy :: Type > rnilTy = mkTyConTy rnilTyCon > > > I also added two new empty data decls to ghc-prim, but if I inspect the > kind of RNil it is not Row, but Type. So I think I am either > understanding res_kind wrong or I have to do something completely different. > I am also not sure how to verify that the code in TysWiredIn.hs is > working at all, from all what I can tell it could just be the > declarations in ghc-prim that result in what I see in ghci. > > Thank you and sorry for my beginner question > Jan >
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
