rwbarton (Reid Barton)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Friday

  • Clear sailing ahead.

Badges

User Since
Jun 6 2014, 12:32 PM (141 w, 4 d)
Availability
Available

Recent Activity

Mon, Feb 20

rwbarton added a comment to D3164: Use half as much memory when reading interfaces.

@simonmar you added the *2 in 526c3af1dc98987b6949f4df73c0debccf9875bd, do you remember why?

Mon, Feb 20, 1:58 PM
rwbarton updated the summary of D3164: Use half as much memory when reading interfaces.
Mon, Feb 20, 1:50 PM
rwbarton updated the diff for D3164: Use half as much memory when reading interfaces.

Fix max_bytes_used number

Mon, Feb 20, 1:50 PM
rwbarton created D3164: Use half as much memory when reading interfaces.
Mon, Feb 20, 1:49 PM
rwbarton accepted D3147: Fix #13287 adding handling of -- to getArgs for Windows..

Looks good, thanks!

Mon, Feb 20, 9:14 AM

Sun, Feb 19

rwbarton added inline comments to D810: Ensure that Literals are in range.
Sun, Feb 19, 6:02 PM
rwbarton added inline comments to D810: Ensure that Literals are in range.
Sun, Feb 19, 6:01 PM
rwbarton updated the diff for D810: Ensure that Literals are in range.
  • Rename test D810
  • Only use mkMachIntWrap, etc. where we know it's correct
Sun, Feb 19, 5:37 PM

Sat, Feb 18

rwbarton requested changes to D3149: configure: detect whether -lpthreads is necessary for pthreads.

neurocyte's Android build scripts make a dummy libpthread.a which I guess must be for this purpose, but this is better.

Sat, Feb 18, 12:20 PM
rwbarton added a comment to D3141: testsuite: Move echoing commands in make invocations to VERBOSE=5.

I've never used this echoing feature before (since I didn't know about it), but I have done the same thing manually, so it is useful. The best outcome would be if we could extract the echoed commands separately from the stdout of the test commands, so we could echo them without interfering with checking the test output.

Sat, Feb 18, 7:21 AM

Fri, Feb 17

rwbarton added a comment to D3143: Correct the nursery size in the gen 1 growth computation (rts: fix trac issue #13288).

Sorry to not have any substantive comment at this time, but please use a more descriptive revision title than "rts: fix trac issue Trac #13288". That title will become the commit title; it's helpful to be able to know what area of the code a commit touches from its title, and the RTS has many parts.

Fri, Feb 17, 7:22 AM

Wed, Feb 15

rwbarton created D3141: testsuite: Move echoing commands in make invocations to VERBOSE=5.
Wed, Feb 15, 7:03 PM
rwbarton created D3140: testsuite: Remove old python version tests.
Wed, Feb 15, 7:02 PM
rwbarton added a comment to D3136: Add -fwhole-archive-hs-libs.

I wanted to suggest a more general knob of -optHSl flags that get put before the list of Haskell libraries and then wrapped in --push-state/--pop-state, but the OS X linker doesn't seem to support --push-state/--pop-state.

Wed, Feb 15, 8:21 AM
rwbarton added inline comments to D3136: Add -fwhole-archive-hs-libs.
Wed, Feb 15, 8:09 AM
rwbarton added a comment to D3137: Set $1_$2_SplitSections in distdir-opts.mk not build-package.mk.

and it worked according to perf: https://perf.haskell.org/ghc/#compare/20b5dfc2a203fb06ba1971f9623578f1e66540b7/ac85c29f8e41ea8ec2a6bdd15736902f700715f6

Wed, Feb 15, 7:58 AM

Tue, Feb 14

rwbarton planned changes to D810: Ensure that Literals are in range.
Tue, Feb 14, 1:38 PM
rwbarton added a comment to D3137: Set $1_$2_SplitSections in distdir-opts.mk not build-package.mk.

Okay, this passed my testing as in the Test Plan.

Tue, Feb 14, 1:29 PM
rwbarton accepted D3138: Testing....

An excellent test.

Tue, Feb 14, 10:52 AM
rwbarton added a comment to D3137: Set $1_$2_SplitSections in distdir-opts.mk not build-package.mk.

NB: my local validate isn't done yet, so this isn't really tested.

Tue, Feb 14, 10:41 AM
rwbarton created D3137: Set $1_$2_SplitSections in distdir-opts.mk not build-package.mk.
Tue, Feb 14, 10:41 AM

Mon, Feb 13

rwbarton added a comment to D3028: Load dependent dlls..

Generally looks good, I have one question though.

Mon, Feb 13, 12:08 PM

Sun, Feb 12

rwbarton accepted D3135: Debug: Use local symbols for unwind points (#13278).

I think it's actually that the linker sees no reference to the new "procedure", and drops it (dead code stripping). But it was really part of the body of another procedure.

Sun, Feb 12, 10:40 PM

Sat, Feb 11

rwbarton added a comment to D2992: Check local type family instances against all imported ones.
In D2992#91455, @ggreif wrote:

Any reason to write

nameIsHomePackage this_mod
  = \nm -> case ...

instead of

nameIsHomePackage this_mod nm
  = case ...

?
Same in line 288.

Sat, Feb 11, 10:39 AM
rwbarton added inline comments to D2992: Check local type family instances against all imported ones.
Sat, Feb 11, 10:36 AM
rwbarton updated the diff for D2992: Check local type family instances against all imported ones.

Remove repeated word 'visible'

Sat, Feb 11, 10:26 AM
rwbarton updated the diff for D2992: Check local type family instances against all imported ones.

Bump T12707 allocations

Sat, Feb 11, 9:57 AM

Fri, Feb 10

rwbarton added a comment to D3114: Generate better fp abs for X86 and llvm..

I agree to some extent, but are there other uses for those bitwise operations? Implementing them generically and efficiently doesn't sound very easy, while the fallback code for fabs here is reasonable.

Fri, Feb 10, 11:48 AM
rwbarton created D3125: Make deSugarExpr use runTcInteractive.
Fri, Feb 10, 11:43 AM
rwbarton added a comment to D2992: Check local type family instances against all imported ones.

The test T12707 that is failing on OS X does define instances of Generic so it's likely that allocations did go up a little bit. I pushed a branch to nomeata's builder to see how much to bump the allocations by.

Fri, Feb 10, 9:56 AM
rwbarton committed rGHC640cf03259c7: Add a reference to #13251 in the big Note (authored by rwbarton).
Add a reference to #13251 in the big Note
Fri, Feb 10, 9:45 AM
rwbarton committed rGHCda3baceeb0df: Fix implementation of nameIsHomePackage (authored by rwbarton).
Fix implementation of nameIsHomePackage
Fri, Feb 10, 9:45 AM
rwbarton committed rGHC28da0a94ea76: Check local type family instances against all imported ones (authored by rwbarton).
Check local type family instances against all imported ones
Fri, Feb 10, 9:45 AM
rwbarton retitled D810: Ensure that Literals are in range from Ensure that Literals in an Int# case are in range to Ensure that Literals are in range.
Fri, Feb 10, 9:39 AM
rwbarton added a comment to D3124: Relax test TH_addCStub2 so it succeeds on travis..

What's the underlying issue here, i.e., why was the output different on travis?

Fri, Feb 10, 8:04 AM

Thu, Feb 9

rwbarton updated the diff for D810: Ensure that Literals are in range.

Fix test D810 (and its number)

Thu, Feb 9, 11:42 PM
rwbarton added inline comments to D810: Ensure that Literals are in range.
Thu, Feb 9, 5:57 PM
rwbarton updated the diff for D810: Ensure that Literals are in range.

Add more tests, and minor cleanup. D910 is known failing, want to know if another test will catch it.

Thu, Feb 9, 4:05 PM
rwbarton added a comment to D2992: Check local type family instances against all imported ones.

The new Trac #13251 is also part of the type family consistency story, so I added a reference to it in the Note.

Thu, Feb 9, 2:25 PM
rwbarton updated the diff for D2992: Check local type family instances against all imported ones.
  • Fix implementation of nameIsHomePackage
  • Add a reference to Trac #13251 in the big Note
  • rebase on master
Thu, Feb 9, 2:23 PM
rwbarton updated the diff for D2992: Check local type family instances against all imported ones.
  • Fix implementation of nameIsHomePackage
  • Add a reference to Trac #13251 in the big Note
Thu, Feb 9, 2:23 PM
rwbarton commandeered D810: Ensure that Literals are in range.
Thu, Feb 9, 12:37 AM

Wed, Feb 8

rwbarton added a comment to D3111: Avoid repeated list elem checks.

I would float out Set.fromList dont_delete explicitly, rather than relying on the optimizer to do it. (GHC desugars

(`op` a)

to

\x -> op x a

which means that a will be recomputed unless GHC floats it out.)

Wed, Feb 8, 10:33 PM
rwbarton abandoned D3045: WIP: A mechanism to notify when .hi file is ready.

With Hadrian on the horizon, I'm going to hold off on this until I can do a proper prototype. The majority of a build is done with the stage1 or stage2 compiler anyways, so it's not hugely important to have this in the bootstrapping compiler.

Wed, Feb 8, 8:15 AM

Sun, Feb 5

rwbarton added a comment to D3028: Load dependent dlls..
In D3028#90491, @Phyx wrote:

The searching for dependencies isn't recursive, which was by design.

Sun, Feb 5, 12:13 PM
rwbarton added inline comments to D3028: Load dependent dlls..
Sun, Feb 5, 12:10 PM
rwbarton added a comment to D3028: Load dependent dlls..

Actually, if there's no particular harm to calling LoadLibraryExW on a library that was already loaded as a dependency as another library, then I think we can give the libraries added in loadModuleDependencies artificial o->name fields that won't match anything passed to addDLL_PEi386, and maintain the current semantics of o->name. Right?

Sun, Feb 5, 10:38 AM
rwbarton requested changes to D3028: Load dependent dlls..

I have some comments and questions, see inline.

Sun, Feb 5, 10:32 AM
rwbarton retitled D3086: Mark orphan instances and rules in --show-iface output from to Mark orphan instances and rules in --show-iface output.
Sun, Feb 5, 9:42 AM

Sat, Feb 4

rwbarton added a reviewer for D3028: Load dependent dlls.: rwbarton.
Sat, Feb 4, 5:09 PM
rwbarton added a comment to D3028: Load dependent dlls..

Phyx and I discussed this patch over IRC and came to the realization that we already do effectively the same thing on UNIX systems, due to the semantics of dlsym:

Sat, Feb 4, 5:02 PM

Fri, Feb 3

rwbarton requested changes to D810: Ensure that Literals are in range.
Fri, Feb 3, 9:55 PM
rwbarton added a comment to D810: Ensure that Literals are in range.

So, I'm in favor of adopting (1) in this case, and of the changes in this patch. However, we need to document this invariant clearly in the Literal type. mkMachInt64 and mkMachWord64 should also have ASSERTs, and the new function mapLitValue should go through the mk* functions. We should audit constructions of Literal elsewhere in the compiler. In a minute or so of looking I found this case

g :: Int# -> Int
g x = case x of
  0# -> 1
  _ -> 2
Fri, Feb 3, 9:55 PM
rwbarton added inline comments to D810: Ensure that Literals are in range.
Fri, Feb 3, 5:46 PM
rwbarton added a comment to D810: Ensure that Literals are in range.

I was brought back here looking at Trac #13171.

Fri, Feb 3, 5:43 PM
rwbarton retitled D3070: Make split sections by default work again from to Make split sections by default work again.
Fri, Feb 3, 4:04 PM
rwbarton committed rGHC45a9b9923ce6: Make split sections by default work again (authored by rwbarton).
Make split sections by default work again
Fri, Feb 3, 4:04 PM
rwbarton committed rGHC1efa85cebdc3: Revert "Don't use the splitter on Darwin" (authored by rwbarton).
Revert "Don't use the splitter on Darwin"
Fri, Feb 3, 3:38 PM
rwbarton added a reverting commit for rGHC266a9dc4cd34: Don't use the splitter on Darwin: rGHC1efa85cebdc3: Revert "Don't use the splitter on Darwin".
Fri, Feb 3, 3:38 PM
rwbarton added a comment to D3024: Introduce GHC.TypeNats module, change KnownNat evidence to be Natural.

I'm not very happy about the new {-# SOURCE #-} import, is it really necessary?

Fri, Feb 3, 8:52 AM
rwbarton added a comment to D3061: Remove unused PostTc types from TuplePat.

In the commit title you say the field is unused. I don't think that can be what you mean, since it is used as an argument to vanillaConPattern, mkPrefixConPat, and mkTupleTy.

Fri, Feb 3, 8:29 AM

Thu, Feb 2

rwbarton added a comment to D3061: Remove unused PostTc types from TuplePat.

Did you conclude that the big comment you removed was wrong? Maybe include your reasoning in the commit message?

Thu, Feb 2, 9:50 AM

Wed, Feb 1

rwbarton added a comment to D3056: Add OS X specific allocations for T12234.

I guess it could just be due to small differences in the NCG on OS X like generating different assembler directives, since the total allocations is small to begin with.

Wed, Feb 1, 11:51 AM
rwbarton added a comment to D3056: Add OS X specific allocations for T12234.

Why is the bytes allocated number OS-dependent? How much do the true values differ by?

Wed, Feb 1, 11:25 AM

Tue, Jan 31

rwbarton added a comment to D2994: Don't replace type family instances with the same LHS in GHCi (#7102).

Indeed, they did.

Tue, Jan 31, 9:26 AM

Mon, Jan 30

rwbarton added a comment to D3045: WIP: A mechanism to notify when .hi file is ready.

Very interesting. This certainly looks like something we can sneak into 8.2.1 but we'll need some documentation in order to do so.

Mon, Jan 30, 9:03 PM
rwbarton added a comment to D3044: Turn libraries/integer-gmp/gmp/tarball into a submodule.

This should resolve the switching branches issue that affected harbormaster (and was also annoying for a human). When switching from this branch to an old one (before the submodule was added) there is still a warning

warning: unable to rmdir libraries/integer-gmp/gmp/gmp-tarballs: Directory not empty

but I don't think the directory will cause any trouble, since it has a new name now.

Mon, Jan 30, 11:55 AM
rwbarton updated the diff for D3044: Turn libraries/integer-gmp/gmp/tarball into a submodule.

Update submodule name, upstream commit and location in GHC tree

Mon, Jan 30, 11:46 AM

Sun, Jan 29

rwbarton retitled D3045: WIP: A mechanism to notify when .hi file is ready from to WIP: A mechanism to notify when .hi file is ready.
Sun, Jan 29, 11:47 PM
rwbarton planned changes to D3044: Turn libraries/integer-gmp/gmp/tarball into a submodule.

Hmm, it's annoying to cross this commit when checking out a different branch. Maybe renaming the tarball directory would help?

Sun, Jan 29, 11:01 PM
rwbarton added a comment to D2994: Don't replace type family instances with the same LHS in GHCi (#7102).

Expecting the perf failures to disappear with the rebase.

Sun, Jan 29, 10:58 PM
rwbarton updated the diff for D2994: Don't replace type family instances with the same LHS in GHCi (#7102).

Update test output for ghci046

Sun, Jan 29, 10:56 PM
rwbarton added a comment to D3038: Attempt to make lazy ST thread safe.

I've only been paying a small amount of attention to this, but is there a more direct way to write unsafePerformIO (evaluate x), maybe directly in terms of noDuplicate#?

Sun, Jan 29, 10:55 PM
rwbarton added a comment to D3044: Turn libraries/integer-gmp/gmp/tarball into a submodule.

Also, I suppose the upgrade to GMP 6.1.2 should be mentioned in the release notes but I'm not sure how to word it ("in-tree GMP" is probably not meaningful to the user).

Sun, Jan 29, 10:40 PM
rwbarton added a comment to D3044: Turn libraries/integer-gmp/gmp/tarball into a submodule.

NB: This commit currently points to my personal github repository for gmp-tarballs.git, and needs to be updated to the official location before landing.

Sun, Jan 29, 10:33 PM
rwbarton retitled D3044: Turn libraries/integer-gmp/gmp/tarball into a submodule from to Turn libraries/integer-gmp/gmp/tarball into a submodule.
Sun, Jan 29, 10:32 PM

Sat, Jan 28

rwbarton added inline comments to D3034: Simplify minusInteger in integer-gmp slightly.
Sat, Jan 28, 1:09 PM

Fri, Jan 27

rwbarton added a comment to D3034: Simplify minusInteger in integer-gmp slightly.

Indeed. I fixed the summary.

Fri, Jan 27, 10:00 PM
rwbarton updated D3034: Simplify minusInteger in integer-gmp slightly.
Fri, Jan 27, 9:59 PM
rwbarton requested review of D2992: Check local type family instances against all imported ones.
Fri, Jan 27, 6:57 PM
rwbarton added inline comments to D2992: Check local type family instances against all imported ones.
Fri, Jan 27, 6:55 PM
rwbarton updated the diff for D2992: Check local type family instances against all imported ones.
  • Improve comments
  • T4175 output was reordered
Fri, Jan 27, 6:55 PM
rwbarton planned changes to D2992: Check local type family instances against all imported ones.
Fri, Jan 27, 5:55 PM
rwbarton added a comment to D2992: Check local type family instances against all imported ones.

Added logic to only read external package interface files when defining an instance for a type family from an external package. Will address other comments (about adding comments) while it validates.

Fri, Jan 27, 5:55 PM
rwbarton updated the diff for D2992: Check local type family instances against all imported ones.
  • Only load external dep_finsts when needed
Fri, Jan 27, 5:54 PM
rwbarton committed rGHCee0889d596d2: Simplify minusInteger in integer-gmp slightly (authored by rwbarton).
Simplify minusInteger in integer-gmp slightly
Fri, Jan 27, 4:30 PM
rwbarton added a comment to D3031: Add liftA2 to Applicative class.
In D3031#88900, @dfeuer wrote:

How about a perf test or two that shows that all this makes a difference?

Sure. Strict-spined ziplists without custom rewrite rules should make a convincing example Applicative, I think, combined with a binary leaf tree as a sample Traversable. You want one in the test suite?

Fri, Jan 27, 4:27 PM
rwbarton retitled D3034: Simplify minusInteger in integer-gmp slightly from to Simplify minusInteger in integer-gmp slightly.
Fri, Jan 27, 4:23 PM
rwbarton added a comment to D3031: Add liftA2 to Applicative class.

How about a perf test or two that shows that all this makes a difference?

Fri, Jan 27, 2:57 PM

Thu, Jan 26

rwbarton added a comment to D3031: Add liftA2 to Applicative class.

Why? This surely deserves some explanation somewhere.

Thu, Jan 26, 7:27 PM
rwbarton accepted D2998: Fix the right-shift operation for negative big integers (fixes #12136).

Looks good, thanks!

Thu, Jan 26, 12:36 PM

Mon, Jan 23

rwbarton planned changes to D2992: Check local type family instances against all imported ones.

Thanks Simon, I will take a closer look at your comments later.

Mon, Jan 23, 9:25 PM
rwbarton planned changes to D2994: Don't replace type family instances with the same LHS in GHCi (#7102).

Looks like there was an existing test ghci046 that relied on the old shadowing behavior. I'll have to update that accordingly.

Mon, Jan 23, 9:08 PM
rwbarton accepted D3009: Ensure that scrutinee constant folding wraps numbers.
Mon, Jan 23, 9:02 PM
rwbarton retitled D3008: Re-sort case alternatives after scrutinee constant folding (#13170) from to Re-sort case alternatives after scrutinee constant folding (#13170).
Mon, Jan 23, 4:51 PM
rwbarton added a comment to D3005: Add a failing test for #13102.

I copied it from some other random test, don't remember which one. I actually don't even know how it is not the modern style, haha. I guess there should be a library section for starters?

Mon, Jan 23, 4:12 PM
rwbarton retitled D3005: Add a failing test for #13102 from to Add a failing test for #13102.
Mon, Jan 23, 1:06 PM
rwbarton retitled D3004: Remove unused LOCAL_GHC_PKG definition from a test Makefile from to Remove unused LOCAL_GHC_PKG definition from a test Makefile.
Mon, Jan 23, 12:10 PM

Jan 22 2017

rwbarton added a comment to D2998: Fix the right-shift operation for negative big integers (fixes #12136).

Okay, this looks correct now.

Jan 22 2017, 7:13 PM
rwbarton accepted D2833: Make checkFamInstConsistency faster.

Sure, that's reasonable. I may end up refactoring this code more significantly in the course of Trac #13102 anyways, so a simple change is good for now.

Jan 22 2017, 7:08 PM