RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-02-01 Thread Ben Gamari
Simon Peyton Jones via ghc-devs writes: > Check out > https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-8.2.1 > > There are several tickets you own in highest or high prio. Notably #12919 > (an outright bug). And #12670, #13160, #13202 > > BEN: yell for whatever help

RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-02-01 Thread Simon Peyton Jones via ghc-devs
o:r...@cs.brynmawr.edu] Sent: 01 February 2017 13:54 To: Simon Peyton Jones <simo...@microsoft.com> Cc: ghc-devs@haskell.org Subject: Re: D2038: [WIP] TysPrim: Generalize kind of (->) On Feb 1, 2017, at 3:34 AM, Simon Peyton Jones <simo...@microsoft.com<mailto:simo...@microsoft.c

Re: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-02-01 Thread Richard Eisenberg
> On Feb 1, 2017, at 3:34 AM, Simon Peyton Jones wrote: > > Who is acting there. Just Ben? Or are there bits Richard needs to help > with? Ben has done the real heavy lifting, with me opining on this bit or that. From what Ben says, it's very close. There is a

RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-02-01 Thread Simon Peyton Jones via ghc-devs
Ben? Or are there bits Richard needs to help with? As to 4 onwards I still want to talk to you about roles. Simon From: Richard Eisenberg [mailto:r...@cs.brynmawr.edu] Sent: 01 February 2017 01:19 To: Simon Peyton Jones <simo...@microsoft.com> Cc: ghc-devs@haskell.org Subject: Re: D2038

Re: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-01-31 Thread Ben Gamari
Richard Eisenberg writes: > I had another thought on my drive home: why do we need to sort out > Constraint v Type for 8.2? I have the patch, and it's essentially all > set. But it weakens equality in a way that's troublesome for D2038 and > introduces heterogeneous axioms,

Re: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-01-31 Thread Richard Eisenberg
I had another thought on my drive home: why do we need to sort out Constraint v Type for 8.2? I have the patch, and it's essentially all set. But it weakens equality in a way that's troublesome for D2038 and introduces heterogeneous axioms, which are strange, ill-understood beasts. And I don't

Re: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-01-31 Thread Ben Gamari
Richard Eisenberg writes: snip > > I think the Right Answer is to get rid of newtype-classes & fix reify, and > I’m worried that anything short of that will fail catastrophically at some > point. Otherwise, it’s patches on top of patches. > > I don’t think there is

Re: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-01-31 Thread Richard Eisenberg
> On Jan 31, 2017, at 5:41 PM, Simon Peyton Jones wrote: > > But that can only happen if `(->)` has suitable roles. > What if it doesn’t? The “correct” roles for (->) of the kind you gave is `nominal nominal nominal nominal representational representational`. That is,

RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-01-31 Thread Simon Peyton Jones via ghc-devs
Replying by email because I'm on a train. Simon Huh. Put otherwise, your point is this. Suppose we have the following kind for `(->)`: (->) :: forall v1 v2 r1 r2. TYPE v1 r1 -> TYPE v2 r2 -> Type To coerce from (C a -> Int) to (a -> Int) we'd have to cough up a coercion `g`: g