- User Since
- Jun 13 2014, 11:18 AM (245 w, 6 h)
Mon, Jan 28
This wasn't as bad as I was worried about, but I'm curious for Simon's thoughts on the design.
Sun, Jan 27
Sat, Jan 26
newtype T :: Type where MkT :: Int# -> T
Fri, Jan 25
One last suggestion below. Then I think we're ready to merge! :)
Thu, Jan 24
For data family instances, there are potentially three kinds that all get unified:
Jan 16 2019
Jan 11 2019
No, I don't think the new implementation of unravelFamInstPats is good: throwing away the cast might cause trouble later on. I still say we shouldn't ever see the case with the coercion, because kcConDecl won't let us. My guess is that you didn't see my earlier comment before posting yours.
Let's take a step back:
Jan 10 2019
Jan 9 2019
Yes, -ddump-tc-trace sometimes hangs. My approach there is to add a bunch more traces (printing out strings only) to learn where the hang is. Then, you'll find some knot-tied something being printed out. Remove the printing. This is a bug that you have the opportunity to find and fix. :)
The Typeable related panic shouldn't be hard to stop. I'm not sure offhand where the fix is (there already have to be a slew of checks before generating Typeable instances), but it sounds like Ryan knows. If you can't find it, ask and I'll take a closer look.
Jan 7 2019
Jan 5 2019
Jan 4 2019
Jan 3 2019
I have done a thorough review. While I'm not surprised that this mostly works (the code is indeed pretty close), there are some corner cases worth investigating before merging.
Dec 26 2018
I've actually (locally) taken care of the line comments I've made here (which I wrote weeks ago but never posted -- sorry). This patch is ready to land. But I'm holding off because @bgamari said to wait until after the GitLab migration is complete. There is a lingering user-facing design and internal design issue: Trac #16082. We'll fix that in a separate patch.
Dec 21 2018
Looks good to me.
Dec 10 2018
In its current form, does it validate? If so, let's merge it. 8.8 is nigh, and it's best to get this out the door. However, even after merging, we should continue to press forward with some of the tweaks suggested in this thread. My and I will discuss in person later this week. In the meantime, My, report if it validates; when it does, let's just pull the trigger.
We can get a precise answer by looking at the intersection of what checkPattern and checkExpr accept.
With commands, we need to look at the intersection of what checkPattern, checkExpr, and checkCommand accept. And when I get to unifying term/type parsers, also checkType (not currently defined).
OK. I've exhausted my time budget for this today, but I'll keep this in my queue. Sad to say, but I likely won't get to it for a few days.
I've taken my pass, but I skipped the following:
Dec 9 2018
I'm late to this conversation, and I haven't looked at the code -- only the conversation. Here are my thoughts:
Dec 3 2018
I do intend to take a close look at this, but it likely won't happen until after classes end, in about 2 weeks.
data T a = Eq a => MkT
Nov 30 2018
They can appear in the kinds of promoted data constructors, say from GADTs with hand-written equality constraints.
Looking at the relevant bits of the Monster Patch, it looks like these constraints are eliminated simply in the validity checker. That is, equality constraints in kinds still work, but now the user can't write them. By "work", I mean that tcInstTyBinders does the right thing. It looks like this from the code, but I'm just double-checking my understanding.
Nov 24 2018
We might want to update this approach if/when Trac #12363 ever gets implemented.
Nov 21 2018
Sharing comments for call Simon and I are having.
More from SPJ.
Nov 19 2018
More updates from Simon.
Nov 18 2018
Nov 14 2018
Nov 12 2018
More commits from Simon:
This looks like it works, but I think it can be refactored to be simpler. Thanks!
Nov 7 2018
Out of time now; more later. (Note to self: I read through files before TcHsType, kcImplicitTKBndrs but not kcLHsQTyVars; also read through TcMType)
Nov 5 2018
Not from me. Ship it!
Nov 2 2018
I've commented on the ticket, as that seems a better place than here.
I have a hunch that this might also fix Trac #15852.
Nov 1 2018
Oct 29 2018
Oct 28 2018
Thanks for the quick action here!
I may not get a chance to cycle back to this one. If it validates, please merge. Thanks.
Get quantification right, for once.
Oct 27 2018
Oct 26 2018
Oct 22 2018
Oct 21 2018
Oct 19 2018
Oct 18 2018
Just update a comment as my comment below, then feel free to push.
I still say that I'm unbothered by the examples Ryan writes.
Oct 17 2018
For T13524, you can apply this diff: