<div dir="ltr">Back to the main point, it seems to be fairly consensual, right now, that #281 doesn't seem to have found the sweet spot which would make it work quite right. Not yet. I basically agree with the points raised so far. As I said earlier in the thread, I'm sympathetic with the goals, but unconvinced by the details. Is there a committee member which disagrees with the emerging consensus?<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 24, 2020 at 1:15 PM Simon Peyton Jones via ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">* Having two name-spaces appears to be The Major Obstacle towards making<br>
  satisfying incremental progress in the direction of dependent types.<br>
<br>
* So perhaps we should have an extension -XSingleNameSpace that has a single<br>
  name space, with all the consequences that would entail (like changing the<br>
  syntax of tuple and list types).<br>
<br>
* Then further extensions toward dependent types could require -XSingleNameSpace.<br>
  If you don't want that, you don't get the new goodies.  There would be no<br>
  expectation that a dependent-types extension should fit well with the <br>
  double-name-space situation; maybe the combination is actually disallowed.<br>
<br>
* Or maybe the combination is allowed, but a bit clunky.  For example, suppose<br>
  a library defines f :: forall a -> blah<br>
  Then, in a module with classic-Haskell name spaces, you'd have to say<br>
        f (type Int)<br>
  and not (f Int), forcibly setting the namespace.<br>
<br>
It'd be good to have this conversation on GitHub, and perhaps #378 is the place to do that?<br>
<br>
Simon<br>
<br>
|  -----Original Message-----<br>
|  From: ghc-steering-committee <<a href="mailto:ghc-steering-committee-bounces@haskell.org" target="_blank">ghc-steering-committee-bounces@haskell.org</a>> On<br>
|  Behalf Of Joachim Breitner<br>
|  Sent: 23 November 2020 08:10<br>
|  To: <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  Subject: Re: [ghc-steering-committee] Please review "Visible 'forall' in<br>
|  types of terms" #281<br>
|  <br>
|  Hi,<br>
|  <br>
|  Richard roughly says what is my sentiment too… I’d phrase it like this:<br>
|  <br>
|  It seems that #281 would be rather straight forward, if it were not for the<br>
|  fact that this is the first (of many?) extensions that allow types and terms<br>
|  to occur in the same syntactic spot. So far, when  mentally parsing a<br>
|  program, I know where to look for types, and where to look for terms. #281<br>
|  breaks that, and has to come up with lots of subtle rules, that make me<br>
|  uneasy.<br>
|  <br>
|  But that's not really #281’s fault – assuming we want to head towards<br>
|  Dependent Haskell with a unified namespace, it’s a problem that needs to be<br>
|  solved! But better have that discussion with a focus on that problem, and<br>
|  have a plan that works in general. Maybe #270 is the right place to have<br>
|  that discussion.<br>
|  <br>
|  My impression is that all (most?) of<br>
|  those working towards a Dependent Haskell world assume that we get a unified<br>
|  namespace with no punning, and all complexity (`type` sigils, `type`-<br>
|  qualified imports) is around compatibility with modules that use punning,<br>
|  with the hope that this is rare. Few are proposing to stick to a world of<br>
|  two namespaces and punning and make _that_ ergonomic. Is that impression<br>
|  correct?<br>
|  <br>
|  Do local modules (#283) alleviate the punning problem a bit? Given `data T =<br>
|  T`, could we make it so that T is the type and T.T the constructor?<br>
|  <br>
|  But this really isn't the right place to throw out shower ideas. I wonder if<br>
|  it would help if someone could maintain a wiki page with an overview of all<br>
|  the numerous proposals and ideas thrown around to tackle the problem about<br>
|  how we get from a world of two name spaces and punning to one with one<br>
|  namespaces and no punning.<br>
|  <br>
|  <br>
|  As for #281, unless I misjudge the urgency of that change, I’d be in favor<br>
|  to park it until we have a good, generally applicable plan for mixing terms<br>
|  and types.<br>
|  <br>
|  Cheers,<br>
|  Joachim<br>
|  <br>
|  <br>
|  <br>
|  <br>
|  Am Montag, den 23.11.2020, 03:35 +0000 schrieb Richard Eisenberg:<br>
|  > My silence on this proposal is because I want to accept, but I agree with<br>
|  Iavor that it's become too baroque. My #378 is, in part, an attempt to<br>
|  clarify our stance on these sorts of features so that we can take a stab at<br>
|  simplifying #281 by making it less expressive.<br>
|  ><br>
|  > So, I guess my vote is to delay decision on this proposal until we have<br>
|  one for #378 (or #270, which can also help shed light on this one).<br>
|  ><br>
|  > Responding directly to Alejandro's concerns here: I actually don't really<br>
|  understand. I think (1) is decided by<br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com</a><br>
|  %2Fghc-proposals%2Fghc-proposals%2Fblob%2Fmaster%2Fproposals%2F0081-forall-<br>
|  arrow.rst&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e470021260<br>
|  8d88f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637417159812849940%<br>
|  7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi<br>
|  LCJXVCI6Mn0%3D%7C3000&amp;sdata=vU3lOmJ6kFNfEuy9MOo6ZoapadyzGIXPZblhR9QYvD0%<br>
|  3D&amp;reserved=0; we use this syntax in standalone kind signatures in GHC<br>
|  8.10. We *could* change this if there were a compelling reason, but this<br>
|  proposal is just continuing an existing feature. By (2), I think you're<br>
|  referring to all the complications in the proposals at how to deal with<br>
|  names and syntax in arguments -- I wouldn't myself describe this as<br>
|  conflating the two namespaces, but rather as defining a subtle set of rules<br>
|  for interpreting ambiguous names. It's the subtlety of these rules that<br>
|  makes me uncomfortable. For (3), I don't really think there's much there --<br>
|  and what there is seems to require (2) (and vice versa). Do you have an<br>
|  example of a type-inference interaction you're worried about here?<br>
|  ><br>
|  > Richard<br>
|  ><br>
|  > > On Nov 22, 2020, at 12:09 PM, Alejandro Serrano Mena <<a href="mailto:trupill@gmail.com" target="_blank">trupill@gmail.com</a>><br>
|  wrote:<br>
|  > ><br>
|  > > Hi all,<br>
|  > > For me, there are two main concerns here:<br>
|  > > This could be split on different proposals: (1) using the “forall a<br>
|  > > ->” syntax, (2) conflating the type and term syntax and namespaces, (3)<br>
|  introducing checking and inference for it; I find the claim that you can<br>
|  just take the Quick Look Impredicativity paper, make a couple of<br>
|  adjustments, and get correct checking and inference. This kind of big change<br>
|  is the one for which I would actually expect a peer-reviewed paper.<br>
|  > ><br>
|  > > Regards,<br>
|  > > Alejandro<br>
|  > ><br>
|  > > El El sáb, 21 nov 2020 a las 10:10, Joachim Breitner <mail@joachim-<br>
|  <a href="http://breitner.de" rel="noreferrer" target="_blank">breitner.de</a>> escribió:<br>
|  > > > Dear Committee,<br>
|  > > ><br>
|  > > > Iavor suggested to reject this proposal, but we have not heard a<br>
|  > > > lot here yet. Especially before rejecting proposals, we probably<br>
|  > > > owe a careful analysis, possibly with suggestions of ways forward<br>
|  > > > (splitting the proposal into smaller pieces maybe? Iavor says<br>
|  > > > there are many changes there).<br>
|  > > ><br>
|  > > > If we have continued silence, we’d reject.<br>
|  > > ><br>
|  > > > Cheers,<br>
|  > > > Joachim<br>
|  > > ><br>
|  > > ><br>
|  > > > Am Mittwoch, den 11.11.2020, 13:41 -0800 schrieb Iavor Diatchki:<br>
|  > > > > Hello,<br>
|  > > > ><br>
|  > > > > Proposal #281 has been submitted for review by the committee again,<br>
|  please read through it and let's have a discussion.   Here are links to the<br>
|  proposal's discussion section, and the proposal text:<br>
|  > > > ><br>
|  > > > > <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%</a><br>
|  > > > > 2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F281&amp;da<br>
|  > > > > ta=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e4700212608d88<br>
|  > > > > f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C63741715981<br>
|  > > > > 2849940%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2lu<br>
|  > > > > MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=oWBR%2BJue6s<br>
|  > > > > 2bh7WU7lRhfHTcaDrQoUHzveh7e4XqWJE%3D&amp;reserved=0<br>
|  > > > > <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%</a><br>
|  > > > > 2Fgithub.com%2Fint-index%2Fghc-proposals%2Fblob%2Fvisible-forall<br>
|  > > > > %2Fproposals%2F0000-visible-forall.rst&amp;data=04%7C01%7Csimonp<br>
|  > > > > j%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e4700212608d88f87414e%7C72f988bf8<br>
|  > > > > 6f141af91ab2d7cd011db47%7C1%7C1%7C637417159812849940%7CUnknown%7<br>
|  > > > > CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWw<br>
|  > > > > iLCJXVCI6Mn0%3D%7C3000&amp;sdata=cfbyhbDYnPX%2BC7BKrak3mzPEFyiXY<br>
|  > > > > wPhza3T1sv2X2I%3D&amp;reserved=0<br>
|  > > > ><br>
|  > > > > While I suggested acceptance on the previous version, I am leaning<br>
|  towards rejecting the proposal  now.  My reasoning is that I hadn't fully<br>
|  understood all the aspects of the original proposal, and the new proposal<br>
|  seems to lack a simple modular specification.  There are *many* changes<br>
|  described in the document,  but I found it hard to understand what is the<br>
|  current design, from the point of view of a user of the feature, as opposed<br>
|  to someone trying to implement it.<br>
|  > > > ><br>
|  > > > > I'd be curious about what others think.<br>
|  > > > ><br>
|  > > > > -Iavor<br>
|  > > > ><br>
|  > > > ><br>
|  > > > > _______________________________________________<br>
|  > > > > ghc-steering-committee mailing list<br>
|  > > > > <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  > > > > <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%</a><br>
|  > > > > <a href="http://2Fmail.haskell.org" rel="noreferrer" target="_blank">2Fmail.haskell.org</a>%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering<br>
|  > > > > -committee&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d<br>
|  > > > > 611e4700212608d88f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%<br>
|  > > > > 7C1%7C637417159812849940%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA<br>
|  > > > > wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;s<br>
|  > > > > data=JJjZfHZhOTQ6yo31ucKEFHC9hNIXG9McT18FbuYbgvI%3D&amp;reserved<br>
|  > > > > =0<br>
|  > > > --<br>
|  > > > Joachim Breitner<br>
|  > > >   <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
|  > > ><br>
|  > > > <a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw</a><br>
|  > > > <a href="http://ww.joachim-breitner.de" rel="noreferrer" target="_blank">ww.joachim-breitner.de</a>%2F&amp;data=04%7C01%7Csimonpj%40microsoft.c<br>
|  > > > om%7Ccba94a6d611e4700212608d88f87414e%7C72f988bf86f141af91ab2d7cd0<br>
|  > > > 11db47%7C1%7C1%7C637417159812849940%7CUnknown%7CTWFpbGZsb3d8eyJWIj<br>
|  > > > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300<br>
|  > > > 0&amp;sdata=BArEbQSBvN4zsTDWtN9PW3klvk1c05lX8hhm2jMKk5E%3D&amp;res<br>
|  > > > erved=0<br>
|  > > ><br>
|  > > ><br>
|  > > > _______________________________________________<br>
|  > > > ghc-steering-committee mailing list<br>
|  > > > <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  > > > <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2F" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2F</a><br>
|  > > > <a href="http://mail.haskell.org" rel="noreferrer" target="_blank">mail.haskell.org</a>%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-com<br>
|  > > > mittee&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e47<br>
|  > > > 00212608d88f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C63<br>
|  > > > 7417159812849940%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQI<br>
|  > > > joiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=JJjZfHZ<br>
|  > > > hOTQ6yo31ucKEFHC9hNIXG9McT18FbuYbgvI%3D&amp;reserved=0<br>
|  > ><br>
|  > > _______________________________________________<br>
|  > > ghc-steering-committee mailing list<br>
|  > > <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  > > <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fma" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fma</a><br>
|  > > <a href="http://il.haskell.org" rel="noreferrer" target="_blank">il.haskell.org</a>%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committ<br>
|  > > ee&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e47002126<br>
|  > > 08d88f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C6374171598<br>
|  > > 12849940%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzI<br>
|  > > iLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=JJjZfHZhOTQ6yo31ucK<br>
|  > > EFHC9hNIXG9McT18FbuYbgvI%3D&amp;reserved=0<br>
|  ><br>
|  > _______________________________________________<br>
|  > ghc-steering-committee mailing list<br>
|  > <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  > <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail</a><br>
|  > .<a href="http://haskell.org" rel="noreferrer" target="_blank">haskell.org</a>%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&a<br>
|  > mp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e4700212608d88f<br>
|  > 87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637417159812859933<br>
|  > %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I<br>
|  > k1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=er3qe80%2BcqnIn3UIKfjuGu4VDwkH7<br>
|  > jEosJqR45eKvn4%3D&amp;reserved=0<br>
|  --<br>
|  Joachim Breitner<br>
|    <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
|  <br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.joachim" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.joachim</a><br>
|  -<br>
|  <a href="http://breitner.de" rel="noreferrer" target="_blank">breitner.de</a>%2F&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e4700<br>
|  212608d88f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C63741715981285<br>
|  9933%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1<br>
|  haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=dyYFsh09gm4vxafb%2FRfa36jb8QT%2BBlHUtx1<br>
|  OK6AMf%2BE%3D&amp;reserved=0<br>
|  <br>
|  <br>
|  _______________________________________________<br>
|  ghc-steering-committee mailing list<br>
|  <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haske" rel="noreferrer" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haske</a><br>
|  <a href="http://ll.org" rel="noreferrer" target="_blank">ll.org</a>%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-<br>
|  committee&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com" rel="noreferrer" target="_blank">40microsoft.com</a>%7Ccba94a6d611e470021260<br>
|  8d88f87414e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637417159812859933%<br>
|  7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi<br>
|  LCJXVCI6Mn0%3D%7C3000&amp;sdata=er3qe80%2BcqnIn3UIKfjuGu4VDwkH7jEosJqR45eKvn<br>
|  4%3D&amp;reserved=0<br>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>