Feed All Stories

Wed, Feb 20

rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

I've just sent you an email.

Wed, Feb 20, 6:43 PM
simonpj added a comment to D5249: [#14037] Allow fusion for zip7 and related.

Sigh. There has to be a better way than this. Send mail to me personally at simonpj@microsoft.com and I will act as your personal mail forwarding agent and fwd it to ghc-devs

Wed, Feb 20, 10:53 AM
rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

@simonpj I've sent the email. Unfortunately, Microsoft has suspended my Outlook email account because it classified my email as "suspicious activity", but I sent it with another address. Can you confirm reception?

Wed, Feb 20, 10:48 AM
simonpj added a comment to D5249: [#14037] Allow fusion for zip7 and related.

I'm not sure what the protocol is these days. Can you ask for help on ghc-devs?

Wed, Feb 20, 10:07 AM
rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

@simonpj I do not have write access to this repository, and I believe it is needed in order to merge this. Would you mind doing so for me?

Wed, Feb 20, 9:37 AM
simonpj added a comment to D5249: [#14037] Allow fusion for zip7 and related.

Thanks! Go for it!

Wed, Feb 20, 9:32 AM
rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

@simonpj should be even more acceptable now :)

Wed, Feb 20, 9:28 AM
Harbormaster failed remote builds in B25592: Diff 19304 for D5249: [#14037] Allow fusion for zip7 and related!
Wed, Feb 20, 9:19 AM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix comments after latest review [skip ci]
Wed, Feb 20, 9:18 AM
Harbormaster failed remote builds in B25591: Diff 19303 for D5249: [#14037] Allow fusion for zip7 and related!
Wed, Feb 20, 9:16 AM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix comments after latest review [skip ci]
Wed, Feb 20, 9:16 AM
Harbormaster failed remote builds in B25590: Diff 19302 for D5249: [#14037] Allow fusion for zip7 and related!
Wed, Feb 20, 9:16 AM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix comments after latest review [skip ci]
Wed, Feb 20, 9:15 AM
Harbormaster failed remote builds in B25589: Diff 19301 for D5249: [#14037] Allow fusion for zip7 and related!
Wed, Feb 20, 9:11 AM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix comments after latest review [skip ci]
Wed, Feb 20, 9:11 AM
simonpj accepted D5249: [#14037] Allow fusion for zip7 and related.

Accepting -- use your judgement in deciding how/whether to respond to my suggestions.

Wed, Feb 20, 3:39 AM
simonpj added a comment to D5249: [#14037] Allow fusion for zip7 and related.

Lovely. Some minor suggestions.

Wed, Feb 20, 3:39 AM

Tue, Feb 19

Harbormaster failed remote builds in B25588: Diff 19300 for D5249: [#14037] Allow fusion for zip7 and related!
Tue, Feb 19, 9:24 PM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix comment regarding 'mapAndUnzipM' inlining
  • Fix comment regarding zipWithNM functions [skip ci]
Tue, Feb 19, 9:23 PM
rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

@simonpj This diff should be more acceptable now.

Tue, Feb 19, 9:22 PM
Harbormaster failed remote builds in B25587: Diff 19299 for D5249: [#14037] Allow fusion for zip7 and related!
Tue, Feb 19, 9:20 PM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix comment regarding 'unzip' inlining
  • Fix comment regarding 'mapAndUnzipM' inlining
  • Fix comment regarding zipWithNM functions [skip ci]
Tue, Feb 19, 9:20 PM
monoidal abandoned D5400: Make constructor wrappers inline only during the final phase.

This was merged via https://gitlab.haskell.org/ghc/ghc/merge_requests/325/.

Tue, Feb 19, 5:27 AM

Mon, Feb 18

rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

@simonpj you're right - I forgot to raise that point in this discussion so that someone could add those comments. I didn't do it myself since I'm not that familiar with the codebase yet.
Thank you that MR. As soon as it's merged and lands on this instance's master, I'll fix this Diff and push the changes.

Mon, Feb 18, 8:32 AM
simonpj added a comment to D5249: [#14037] Allow fusion for zip7 and related.

Sorry not to be clear! I meant that I don't like a comment that says "I don't know why this code is right, but it's the same as that code over there, which also lacks any comment". Clearly the right thing is to add the missing comment which I have done in
https://gitlab.haskell.org/ghc/ghc/merge_requests/394

Mon, Feb 18, 8:06 AM
rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

@simonpj sorry, but what do you specifically mean by this:

I don't having like comments like this

?

Mon, Feb 18, 7:57 AM
simonpj added a comment to D5249: [#14037] Allow fusion for zip7 and related.

I don't like having comments like this! We should fix the original problem.

The inline principle for @zipWith3M@ and @zipWith3M_@ is the same as for
zipWithM' and 'zipWithM_' in "Control.Monad".
No comment or explanation is given in that module as to why 'zipWith'
has an @INLINE@ pragma, but it stands to reason that if it was added in the
 past and not removed or addressed in any way, it is overall useful (but still
undocumented, which would be nice to address).

I'll push a patch and you can then change this one to refer to the new Notes in my patch

Mon, Feb 18, 3:08 AM

Sun, Feb 17

alanasp added a comment to D4931: Fixes an issue with deprecated symbols that are explicitly imported not throwing a warning.

@bgamari I think this revision is now irrelevant as it is all part of D4953

Sun, Feb 17, 3:58 PM

Sat, Feb 16

rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

I apologise for my insistence on this issue as well (I ask for some tolerance based on point 7.) - can someone review this?

Sat, Feb 16, 7:34 PM

Fri, Feb 15

rockbmb edited reviewers for D5249: [#14037] Allow fusion for zip7 and related, added: simonpj; removed: hvr, dfeuer.
Fri, Feb 15, 4:02 PM

Thu, Feb 14

RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

@dfeuer is correct. (You'll notice that if you comment out the deriving stock instance Eq (Foo LiftedRep) part of the program, then it compiles, as it should.)

Thu, Feb 14, 12:40 PM
dfeuer added a comment to D4777: Implement the Unlifted Newtypes proposal.

Also, concerning the panicing example that Ryan gave:

newtype Foo rep = MkFoo (forall (a :: TYPE rep). a)
-- Commenting out the instance below makes the panic go away
deriving stock instance Eq (Foo LiftedRep)

The definition of Foo should never be accepted to begin with. GHC rejects newtypes with existentially quantified type variables. Consider that the following would be rejected:

newtype Bar = Bar (forall (a :: TYPE 'LiftedRep). a)

Foo should be no different, especially since Foo is just a generalization of Bar.

Thu, Feb 14, 12:03 AM

Wed, Feb 13

andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

Some long overdue responses to Ryan's comments:

Wed, Feb 13, 8:26 PM
harpocrates abandoned D5198: TH 'TExp' docs + 'liftedTyped'.

Migrated to https://gitlab.haskell.org/ghc/ghc/merge_requests/351.

Wed, Feb 13, 9:07 AM

Sun, Feb 10

RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

While I'm in the neighborhood, I decided to file Trac #16300 about https://phabricator.haskell.org/D4777#151772, since there is also a path forward to fixing that bug independently of this patch.

Sun, Feb 10, 9:28 AM
RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

This patch also exposes a dark corner in :info:

Sun, Feb 10, 9:11 AM

Sat, Feb 9

rockbmb added inline comments to D5249: [#14037] Allow fusion for zip7 and related.
Sat, Feb 9, 4:27 PM
rockbmb added inline comments to D5249: [#14037] Allow fusion for zip7 and related.
Sat, Feb 9, 4:22 PM
RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

UnliftedNewtypes have a mildly unpleasant interaction with Template Haskell reification:

Sat, Feb 9, 2:47 PM

Fri, Feb 8

Harbormaster failed remote builds in B25586: Diff 19298 for D5249: [#14037] Allow fusion for zip7 and related!
Fri, Feb 8, 5:39 PM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Fix reference in commit to differential with unzip fusion rules
Fri, Feb 8, 5:39 PM
RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

I'm not sure if this should count as a bug or not, but you also can't use record selectors with levity polymorphic fields:

Fri, Feb 8, 8:11 AM

Thu, Feb 7

RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

Another ticket to file after this patch lands: it seems that the symptoms of Trac #15883 aren't completely cured by this patch. In particular, this still panics:

Thu, Feb 7, 9:25 PM
RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

Also, since it looks like most of the in-depth reviewing has quiesced, it would be worth migrating this patch over to GitLab, as it'll need to exist in MR format in order to be merged anyway.

Thu, Feb 7, 7:21 PM

Wed, Feb 6

RyanGlScott added a comment to D4777: Implement the Unlifted Newtypes proposal.

I certainly don't have any more feedback to give on the patch itself (@goldfire and @simonpj might).

Wed, Feb 6, 12:03 PM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

Sorry, that was supposed to be *have*. Does anyone *have* any more feedback on this?

Wed, Feb 6, 8:39 AM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

Does anyone there any more feedback on this? I'm not aware of any outstanding issues that need to be addressed.

Wed, Feb 6, 8:38 AM
nboldi added a comment to D5041: Make the types of expressions accessible in the API..

Last update only shows the latest changes. I think the problem is that my commits are interleaved with other commits in the git log. Is there a way to arc diff specific commits?

Wed, Feb 6, 12:49 AM
nboldi added a comment to D5041: Make the types of expressions accessible in the API..

Here are the compared nofib results:

Wed, Feb 6, 12:44 AM
Harbormaster failed remote builds in B25585: Diff 19297 for D5041: Make the types of expressions accessible in the API.!
Wed, Feb 6, 12:43 AM
nboldi updated the diff for D5041: Make the types of expressions accessible in the API..
  • Fixing validation errors
  • Rebased to master
  1. Updating D5041: Make the types of expressions accessible in the API.
  2. Enter a brief description of the changes included in this update.
  3. The first line is used as subject, next lines as comment.
  4. If you intended to create a new revision, use:
  5. $ arc diff --create
Wed, Feb 6, 12:42 AM

Tue, Feb 5

rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

It seems CI has been disabled for Phabricator as part of the move to GitLab.
In any case, I forked GHC there, performed these changes on my fork and pushed them here. Every required build passes.

Tue, Feb 5, 7:53 PM
rockbmb added a comment to D5249: [#14037] Allow fusion for zip7 and related.

This differential has been updated to reflect the changes from D5241 (some of the previous changes here have already been implemented by that diff), along with some comments explaining the changes.

Tue, Feb 5, 7:49 PM
Harbormaster failed remote builds in B25584: Diff 19296 for D5249: [#14037] Allow fusion for zip7 and related!
Tue, Feb 5, 7:46 PM
rockbmb updated the diff for D5249: [#14037] Allow fusion for zip7 and related.
  • Allow fusion for unzip4
  • Allow fusion for unzip5
  • Allow fusion for unzip6
  • Allow fusion for unzip7
  • Add comment explaining INLINE for unzips
  • Add inline rule to mapAndUnzip3M
  • Add inline rule to mapAndUnzip4M
  • Add inline rule to mapAndUnzip5M
  • Add explanation to mapAndUnzipM changes
  • Add inline for zipWith3M
  • Add inline for zipWith3M_
  • Add inline for zipWith4M
  • Add comment explaining zipWithM inline
Tue, Feb 5, 7:46 PM
bgamari added a comment to D5041: Make the types of expressions accessible in the API..

I rebased to master and ran the tests:

Hmm, this is rather what I was afraid of. It looks like this has caused nearly all compiler performance tests to regress. Can you paste the full testsuite output?

Tue, Feb 5, 11:28 AM
nboldi added a comment to D5041: Make the types of expressions accessible in the API..

I rebased to master and ran the tests:

Tue, Feb 5, 1:47 AM

Sat, Feb 2

andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

I fixed a panic that could be triggered by a multi-field type with a CUSK (added a test for this as well). I've added a note about what's going on in tcConDecl. I rewrote the bottom part of the note for kcConDecl since I realized that kcConDecl would never actually be called on the example I gave. I believe I've now cross-referenced all the notes in appropriate places, but let me know if I've missed any of them.

Sat, Feb 2, 6:48 AM
Harbormaster failed remote builds in B25583: Diff 19295 for D4777: Implement the Unlifted Newtypes proposal!
Sat, Feb 2, 6:42 AM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • Improve outdated notes, cross reference more, quit using panic before validity check happens.
Sat, Feb 2, 6:42 AM

Fri, Feb 1

watashi abandoned D5433: Introduce GhciMonad and generalize types of functions in GHCi.UI.

merged in gitlab

Fri, Feb 1, 3:16 PM
watashi closed D5233: Don't use X86_64_ELF_NONPIC_HACK for +RTS -xp.

merged

Fri, Feb 1, 3:16 PM
watashi closed D5289: Add a RTS option -xp to load PIC object anywhere in address space.

merged

Fri, Feb 1, 3:16 PM
watashi closed D5290: Allocate bss section within proper range of other sections.

merged

Fri, Feb 1, 3:16 PM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

Marking a few old comments as done.

Fri, Feb 1, 7:53 AM

Thu, Jan 31

bgamari accepted D5475: Fix #16219: TemplateHaskell causes indefinite package build error.

Thanks, looks good!

Thu, Jan 31, 7:00 PM
bgamari added a comment to D5475: Fix #16219: TemplateHaskell causes indefinite package build error.

Do note, @ezyang, that new patches should go through GitLab. We are currently in the process of winding down Phabricator.

Thu, Jan 31, 6:59 PM
bgamari added a comment to D5041: Make the types of expressions accessible in the API..

Yes, I would like to integrate this. I need some pointers on what changes are requested to finish.

Thu, Jan 31, 1:20 PM

Wed, Jan 30

simonpj added inline comments to D5475: Fix #16219: TemplateHaskell causes indefinite package build error.
Wed, Jan 30, 7:34 AM

Tue, Jan 29

andrewthad added inline comments to D4777: Implement the Unlifted Newtypes proposal.
Tue, Jan 29, 8:53 AM
Harbormaster failed remote builds in B25582: Diff 19294 for D4777: Implement the Unlifted Newtypes proposal!
Tue, Jan 29, 8:18 AM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • use MCoercion in tcConDecl with unlifted newtypes
Tue, Jan 29, 8:18 AM
Harbormaster failed remote builds in B25581: Diff 19293 for D4777: Implement the Unlifted Newtypes proposal!
Tue, Jan 29, 7:34 AM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • Handle all three types of data constructors when dealing with kind-checking the field of an unlifted newtype
Tue, Jan 29, 7:34 AM

Mon, Jan 28

Harbormaster failed remote builds in B25580: Diff 19292 for D5475: Fix #16219: TemplateHaskell causes indefinite package build error!
Mon, Jan 28, 10:21 PM
ezyang created D5475: Fix #16219: TemplateHaskell causes indefinite package build error.
Mon, Jan 28, 10:21 PM
goldfire added a comment to D4777: Implement the Unlifted Newtypes proposal.

This wasn't as bad as I was worried about, but I'm curious for Simon's thoughts on the design.

Mon, Jan 28, 3:40 PM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

@simonpj The note with a high-level overview is Implementation of UnliftedNewtypes, found in compiler/typecheck/TcTyClsDecls.hs. I've updated the note to be more accurate.

Mon, Jan 28, 9:23 AM
Harbormaster failed remote builds in B25579: Diff 19291 for D4777: Implement the Unlifted Newtypes proposal!
Mon, Jan 28, 9:12 AM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • improve notes, update notes, rename decideNewtypeKind to unifyNewtypeKind
Mon, Jan 28, 9:12 AM
simonpj added a comment to D4777: Implement the Unlifted Newtypes proposal.

I have not been following the details here, since Richard has been On The Job. But it'd be good for me to do so before we finally pull the trigger.

Mon, Jan 28, 3:42 AM

Sun, Jan 27

andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

@goldfire I've implemented your suggestion. I picked the variant of it that didn't involve nesting solveEqualities. The error message we get for UnliftedNewtypesMismatchedKind is now excellent, especially because we can feed Just ... as the first argument to unifyKind. If @simonpj has a cleaner idea for how to accomplish this check in tcConDecl, I can switch to that. All tests are currently passing. I need to update some of the notes.

Sun, Jan 27, 1:43 PM
Harbormaster failed remote builds in B25578: Diff 19290 for D4777: Implement the Unlifted Newtypes proposal!
Sun, Jan 27, 1:38 PM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • Remove commented out garbage. Allow solving before checking coercion type in tcConDecl. Include original type in error message.
Sun, Jan 27, 1:38 PM
goldfire added a comment to D4777: Implement the Unlifted Newtypes proposal.

The user deserves a better error message here. I had thought that unifyKind would fail if you tried to unify TYPE 'LiftedRep and TYPE 'IntRep (with an error message along the lines on "Could not unify actual kind X with expected kind Y"). But this doesn't happen.

Sun, Jan 27, 10:27 AM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

So, the problem was that I didn't actually do checks in tcConDecl to make sure that the kind of the type of the field in a newtype matched what was expected. I've added this check for GADT-style declarations. All it requires is checking that the kind of the field matches the kind of res_ty. I've written a note in the code requesting a little feedback.

Sun, Jan 27, 10:26 AM
Harbormaster failed remote builds in B25577: Diff 19289 for D4777: Implement the Unlifted Newtypes proposal!
Sun, Jan 27, 10:19 AM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • correctly check that the field in an unlifted newtype matches the expected kind
Sun, Jan 27, 10:18 AM
nboldi added a comment to D5041: Make the types of expressions accessible in the API..

Yes, I would like to integrate this. I need some pointers on what changes are requested to finish.

Sun, Jan 27, 4:27 AM

Sat, Jan 26

harpocrates added a comment to D5067: [WIP] Hi Haddock: Enable haddock to generate docs from .hi-files.

@sjakobi Is the TODO list in the summary still accurate and up to date?

Sat, Jan 26, 2:55 PM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

I've nearly got this fixed. I've broken the following:

Sat, Jan 26, 2:52 PM
Harbormaster failed remote builds in B25576: Diff 19288 for D4777: Implement the Unlifted Newtypes proposal!
Sat, Jan 26, 2:48 PM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • kind check the field in a newtype to ensure that it matches what the data type expects
Sat, Jan 26, 2:48 PM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

The naive solution I attempted actually makes a bunch of tests fail. I'm looking into other options.

Sat, Jan 26, 12:10 PM
sgraf committed rNOFIB7a702cc1f4c0: Add sgraf812 and bgamari as CODEOWNERS (authored by sgraf).
Add sgraf812 and bgamari as CODEOWNERS
Sat, Jan 26, 12:00 PM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

I've done the simplest thing to make this work: running kcLTyClDecl on all the cusk_decls. This makes Ryan's data type fail to typecheck, but the error message is the impenetrable:

Sat, Jan 26, 11:28 AM
Harbormaster failed remote builds in B25575: Diff 19287 for D4777: Implement the Unlifted Newtypes proposal!
Sat, Jan 26, 11:20 AM
andrewthad updated the diff for D4777: Implement the Unlifted Newtypes proposal.
  • start performing kcConDecl checks on the data constructors of types with cusks
Sat, Jan 26, 11:19 AM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

Oh, I see the problem. We only call kcLTyClDecl on no_cusk_decls. For cusk_decls, the path we follow never ends up calling unifyNewtypeKind. I think I know where to fix this.

Sat, Jan 26, 10:39 AM
andrewthad added a comment to D4777: Implement the Unlifted Newtypes proposal.

I agree that T should be rejected. I am surprised that this wasn't caught by an existing test. I've added a test locally, and this patch does indeed currently accept T. I'm looking into this.

Sat, Jan 26, 10:01 AM