> On Jun 29, 2019, at 11:48 AM, Carter Schonwald <carter.schonw...@gmail.com> 
> wrote:
> 
> Phrased differently is a magic stand in for 0 ary sum and products ?
> 
> Or do you mean how n-ary sum and product are the same structure when n=1?

No -- I just mean that 0 (that is, Void) is the identity for sums and 1 (that 
is, Unit) is the identity for products. Sorry if this wasn't clear!

Richard

> 
> Forgot to cc list. Pardon the double send :)
> 
> On Mon, Jun 24, 2019 at 11:22 PM Richard Eisenberg <r...@richarde.dev 
> <mailto:r...@richarde.dev>> wrote:
> I forget if I'm the contributor Ben mentions below, but regardless: NoExt is 
> used in two separate ways within GHC. It's used both as the extension of a 
> sum (new constructor) and the extension of a product (new field in a 
> constructor). But the identity for sum is different than the identity for 
> products. To me, it makes good sense for the NoExt used as a product 
> extension (new field) to have the 1 trivial inhabitant (thus forming the 
> identity for products), but the NoExt used as a sum extension (new 
> constructor) to have 0 inhabitants (thus forming the identity for sums). 
> Clearly, one of these will need a new name.
> 
> Thanks,
> Richard
> 
> > On Jun 24, 2019, at 4:57 PM, Ben Gamari <b...@smart-cactus.org 
> > <mailto:b...@smart-cactus.org>> wrote:
> > 
> > Hi Shayan,
> > 
> > During code review a contributor asked about a TTG extension point.
> > While answering his question I realized I didn't have a good explanation
> > for why NoExt is inhabited; as far as I can tell it should rather be
> > unhabited.
> > 
> > If there is a reason for this then can you:
> > 
> > 1. describe why this is so in #16863 [1]
> > 2. open an MR documenting the reason in Note [Trees that Grow].
> > 
> > If not, perhaps we should consider changing it; the current state of
> > things is a bit awkward.
> > 
> > Cheers,
> > 
> > - Ben
> > 
> > 
> > [1] https://gitlab.haskell.org/ghc/ghc/issues/16863 
> > <https://gitlab.haskell.org/ghc/ghc/issues/16863>
> > _______________________________________________
> > ghc-devs mailing list
> > ghc-devs@haskell.org <mailto:ghc-devs@haskell.org>
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs 
> > <http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs>
> 
> _______________________________________________
> ghc-devs mailing list
> ghc-devs@haskell.org <mailto:ghc-devs@haskell.org>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs 
> <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

Reply via email to