tdammers (Tobias Dammers)Administrator
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 16 2017, 8:24 AM (56 w, 1 d)
Roles
Administrator

Recent Activity

Sun, Oct 28

tdammers created D5277: WIP: Limit scExpr nesting depth.
Sun, Oct 28, 5:15 PM

Mon, Oct 22

tdammers added a comment to D5150: Fix #14880..

@bgamari See Trac #14880; the roadmap is to get step 2 committed, and after that revisit the work done in this patch, however I believe that Richard and Simon might end up rethinking this part entirely once step 2 is committed.

Mon, Oct 22, 7:57 AM

Oct 12 2018

tdammers updated the diff for D5147: Close over kinds exactly once per var (#14880).
  • Fix some test wibbles
Oct 12 2018, 4:32 AM

Oct 10 2018

tdammers updated the diff for D5141: Use an accumulator version of tyCoVarsOfType.
  • Document TyCoRep changes better
Oct 10 2018, 7:03 AM

Oct 8 2018

tdammers added inline comments to D5141: Use an accumulator version of tyCoVarsOfType.
Oct 8 2018, 2:56 AM
tdammers updated the diff for D5141: Use an accumulator version of tyCoVarsOfType.
  • Remove commented-out code, turn it into Note text instead.
Oct 8 2018, 2:54 AM

Oct 4 2018

tdammers updated the diff for D5141: Use an accumulator version of tyCoVarsOfType.

Rebase onto current master

Oct 4 2018, 10:35 AM

Oct 1 2018

tdammers requested changes to D5177: Drop accidental write-attributes request.

Is there any test that reflects this change?

Oct 1 2018, 8:26 AM
tdammers added a comment to D5187: rts: Stop tracing environment variables (fixes #15371).

Hmm, the ticket talks about making this feature opt-in, which makes a lot of sense to me, but this patch just drops the feature entirely. What's the reasoning behind this?

Oct 1 2018, 7:13 AM
tdammers accepted D5188: Don't drop arguments in TH type arguments.
Oct 1 2018, 6:53 AM

Sep 27 2018

tdammers accepted D5184: primops: Fix documentation of compactAllocateBlock#.
Sep 27 2018, 9:18 AM
tdammers accepted D4931: Fixes an issue with deprecated symbols that are explicitly imported not throwing a warning.
Sep 27 2018, 9:14 AM
tdammers added inline comments to D4953: Support for deprecating exports.
Sep 27 2018, 4:48 AM

Sep 14 2018

tdammers created D5150: Fix #14880..
Sep 14 2018, 6:45 AM

Sep 13 2018

tdammers added a comment to D5147: Close over kinds exactly once per var (#14880).

Assembled a Note from various snippets from the Trac issue and surrounding discussion. Feel free to edit rigorously.

Sep 13 2018, 3:24 PM
tdammers updated the diff for D5147: Close over kinds exactly once per var (#14880).
  • Add Note [Closing over free variable kinds]
Sep 13 2018, 3:13 PM
tdammers updated the diff for D5147: Close over kinds exactly once per var (#14880).
  • Add Note [Closing over free variable kinds]
Sep 13 2018, 3:09 PM
tdammers added a comment to D5147: Close over kinds exactly once per var (#14880).

We'll need a big Note about all this

Sep 13 2018, 3:07 PM
tdammers updated the diff for D5147: Close over kinds exactly once per var (#14880).

Fixup

Sep 13 2018, 2:12 PM
tdammers updated the diff for D5147: Close over kinds exactly once per var (#14880).

Use extendVarSet, not unionFV

Sep 13 2018, 9:19 AM
tdammers added a comment to D5147: Close over kinds exactly once per var (#14880).

Use Interesting Function

But you did not take advantage of my suggestion

| otherwise = tyCoFVsOfType (tyVarKind v)) f emptyVarSet (v:acc_list, extendVarSet acc_set v)

unitFV will just duplicate three tests you have already made!

Sep 13 2018, 9:19 AM
tdammers updated the diff for D5147: Close over kinds exactly once per var (#14880).

Use Interesting Function

Sep 13 2018, 6:42 AM
tdammers added inline comments to D5147: Close over kinds exactly once per var (#14880).
Sep 13 2018, 6:42 AM
tdammers created D5147: Close over kinds exactly once per var (#14880).
Sep 13 2018, 3:44 AM

Sep 10 2018

tdammers updated the diff for D5141: Use an accumulator version of tyCoVarsOfType.
  • Bugfix
Sep 10 2018, 3:47 PM
tdammers added inline comments to D5141: Use an accumulator version of tyCoVarsOfType.
Sep 10 2018, 1:56 PM
tdammers created D5141: Use an accumulator version of tyCoVarsOfType.
Sep 10 2018, 10:40 AM

Sep 7 2018

tdammers added a comment to D5137: Honor INLINE on 0-arity bindings (#15578).

OK, so I added test3 from the ticket, which probably reflects the problem most accurately. I don't think adding more of the test cases would add much.

Sep 7 2018, 5:27 PM
tdammers updated the diff for D5137: Honor INLINE on 0-arity bindings (#15578).
Sep 7 2018, 5:21 PM
tdammers updated the diff for D5137: Honor INLINE on 0-arity bindings (#15578).
Sep 7 2018, 1:55 PM
tdammers created D5137: Honor INLINE on 0-arity bindings (#15578).
Sep 7 2018, 6:23 AM

Aug 29 2018

tdammers added a comment to D5107: #15363 Do some cleaning up of the testsuite driver.

I suggest continuing the discussion on Trac 15363 rather than here, if only to preserve it for future generations.

Aug 29 2018, 3:47 AM

Aug 28 2018

tdammers requested changes to D5086: Use -O2 as default flag for stage1..

That build failure is strange. Apparently enabling -O2 on stage1 triggers a bug that doesn't surface on Linux. gcc vs. clang, possibly?

Aug 28 2018, 5:39 AM
tdammers accepted D5086: Use -O2 as default flag for stage1..

Ideally I'd like to see this tested on more machines and platforms, but if those timings are anywhere near accurate, I'd expect those to match too.

Aug 28 2018, 3:52 AM
tdammers added inline comments to D5093: Compiler panic on invalid syntax (unterminated pragma).
Aug 28 2018, 3:25 AM
tdammers updated subscribers of D5110: Implement minimumOn, maximumOn to mirror sortOn (#15566).

These look useful, but I'm not sure how reluctant we are to add more things to base just like that.

Aug 28 2018, 3:13 AM
tdammers accepted D5106: make iToBase62's inner loop stricter in one of its arguments.

I agree that this should be properly solved eventually. Workaround looks fine though.

Aug 28 2018, 2:55 AM
tdammers accepted D5111: Remove dead code for commandline parsing.
Aug 28 2018, 2:52 AM

Aug 27 2018

tdammers requested changes to D5109: Fix a constant folding rule.

Could you maybe add a test or two? You already have an example program that would highlight a regression.

Aug 27 2018, 10:53 AM
tdammers requested changes to D5107: #15363 Do some cleaning up of the testsuite driver.

I have trouble understanding what this would buy us. 452 lines of Windows-specific code are a liability (most GHC devs are not on Windows, and aren't keen on maintaining nontrivial Windows code), so the benefit would have to be substantial to make it worthwhile.

Aug 27 2018, 10:53 AM
tdammers requested changes to D4953: Support for deprecating exports.
Aug 27 2018, 9:57 AM

Jul 9 2018

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

I've looked a bit deeper, and it turns out that the "bug" isn't really a bug - essentially what bytestring is doing here is re-exporting findSubstring from Data.ByteString from Data.ByteString.Char8. More details in the ticket (Trac #15337).

Jul 9 2018, 9:31 AM
tdammers accepted D4924: Add a strict version of foldMap to Foldable.
Jul 9 2018, 7:14 AM
tdammers accepted D4945: SAT: Fix hacky name shadowing.
Jul 9 2018, 6:35 AM
tdammers added a comment to D4931: Fixes an issue with deprecated symbols that are explicitly imported not throwing a warning.

Well, here's the relevant bit from the build log:

Jul 9 2018, 6:30 AM

Jul 5 2018

tdammers added a comment to D4915: split-obj: disable split-objects on Windows..

Yes, I agree that this is the right way forward. This also means that we can simply remove split-objs, since Windows is AFAIK the only platform that still used it.

Jul 5 2018, 2:26 AM
tdammers accepted D4920: Fix #15331 with careful blasts of parenthesizeHsType.
Jul 5 2018, 2:24 AM
tdammers requested changes to D4930: When -odir is specified, put the object file of a C-source file into the top level odir directory (#14025).

Looks like the build fails because it can't find some .o files. Might want to look into that.

Jul 5 2018, 2:20 AM

Jul 4 2018

tdammers added a comment to D4847: UniqFM: Use foldl' instead of fold.

Maybe check out how this relates to D4929? There doesn't seem to be any overlap between the two patches, but D4929 puts foldl' in GHC.Prelude, which make the Data.List import redundant here.

Jul 4 2018, 3:22 PM
tdammers requested changes to D4929: Replace most occurences of foldl with foldl'..

Would it be possible to see the performance improvements reflected in the test suite somewhere? E.g., by adding a test that compiles a program that would benefit a lot from this in terms of compilation time?

Jul 4 2018, 10:59 AM
tdammers requested changes to D4931: Fixes an issue with deprecated symbols that are explicitly imported not throwing a warning.
  • Please fix the parser error / build failure
  • A more descriptive commit message would be great
Jul 4 2018, 10:43 AM

Jun 21 2018

tdammers requested changes to D4881: Rename literal constructors.

Apart from the stylistic remarks; I wonder whether this change would pull its weight. The Mach- prefix doesn't seem entirely outrageous to me (after all, these are things that are supposed to be "close to the metal" or "in machine format"), and changing them has a bit of an impact wrt future patches, merging, etc. But I really can't judge which way the balance would tip.

Jun 21 2018, 10:47 AM
tdammers requested changes to D4872: Fix space leaks.

What about those failing CI tests? I can't make perfect sense of it, but IIUC, one test now allocates 16% less (which is to be expected, I think?), while another test now fails.

Jun 21 2018, 10:26 AM

Jun 18 2018

tdammers retitled D4868: Rewrite fasta in more idiomatic Haskell from Summary: Rewrite fasta in more idiomatic Haskell to Rewrite fasta in more idiomatic Haskell.
Jun 18 2018, 6:59 AM
tdammers created D4868: Rewrite fasta in more idiomatic Haskell.
Jun 18 2018, 6:42 AM

Jun 13 2018

tdammers added a comment to D4806: --show-iface: Always qualify names.

I think this deserves a proper discussion in a Trac issue, with some background information and concrete motivating examples.

Jun 13 2018, 4:54 AM
tdammers added a comment to D4820: Inline the default `enumFromTo` and `enumFromThenTo` methods in `Enum` typeclass..

Thanks for doing this!

The lack of INLINE breaks stream fusion, leading to degeneration in performance for Int32, Int64 and similar types

Do you understand *why* the lack of INLINE breaks fusion. It's be really good to give a little example to illustrate the steps, and where they break. Otherwise it's too much like alchemy... "try it and see".

Also could you add this info in a Note? Otherwise someone in 5 years time might wonder what those INLINE pragmas are doing, and remove them. (Yes, if they are careful enough they could do a git-annotate, but it's not so clear.)

Jun 13 2018, 4:52 AM
tdammers added a comment to D4827: Make Control.Exception.throw levity polymorphic..

I am a bit puzzled by the CI failure. I don't get why the runner cannot run ./validate.

Did I mess something up here?

Jun 13 2018, 3:18 AM
tdammers requested changes to D4831: Do not skip conc004 in GHCi way.

Is there some ticket associated with this? Do we know the context in which it allocated too much? *Someone* has clearly run into this in the past, and before undoing the "fix", I'd like some assertion that the problem has actually gone away, rather than us just not running it in the circumstances that trigger it.

Jun 13 2018, 3:06 AM
tdammers accepted D4838: testsuite: Fix T4442 on i386.
Jun 13 2018, 2:28 AM
tdammers accepted D4830: Disable `-fdefer-out-of-scope-variables` in ghci..

Fantastic, thanks a lot.

Jun 13 2018, 2:03 AM

Jun 12 2018

tdammers abandoned D4833: Disable error deferring in interactive statements.

Abandoning in favor of D4830.

Jun 12 2018, 10:16 AM
tdammers requested changes to D4830: Disable `-fdefer-out-of-scope-variables` in ghci..

This solves the same problem as D4833, but seems like a more elegant solution, so I suggest we roll with this patch instead of mine.

Jun 12 2018, 10:16 AM
tdammers added a comment to D4833: Disable error deferring in interactive statements.

@tdammers We have already disabled -fdefer-type-errors and -fdefer-typed-holes in GHCi (by Phab:D1527), see https://github.com/ghc/ghc/blob/master/compiler/typecheck/TcRnDriver.hs#L2070. I opened a ticket Trac #15259 yesterday to disable -fdefer-out-of-scope-variables as well, and fixed it by Phab:D4830. After doing that, the program given in Trac #14963 prints the result correctly and doesn't panic.

Jun 12 2018, 10:16 AM
tdammers added a comment to D4833: Disable error deferring in interactive statements.

I think it's ok to allow -fdefer-type-errors in files to be load to ghci, which wouldn't cause a panic and is very helpful to develop and try partial finished programs. We only need to disable -fdefer-type-errors (as well as the other two -fdefer) to interactive inputs in ghci.

Jun 12 2018, 9:51 AM
tdammers updated the diff for D4833: Disable error deferring in interactive statements.
  • Disable error deferring in interactive statements
  • Documentation
  • Test for Trac #14963 workaround
  • Updated test output
Jun 12 2018, 9:51 AM
tdammers updated the diff for D4833: Disable error deferring in interactive statements.
  • Override interactive dynflags, not session
  • Updated test output
Jun 12 2018, 9:51 AM
tdammers created D4833: Disable error deferring in interactive statements.
Jun 12 2018, 5:44 AM

May 31 2018

tdammers added inline comments to D4755: Conservatively estimate levity in worker/wrapper.
May 31 2018, 3:39 AM
tdammers requested changes to D4755: Conservatively estimate levity in worker/wrapper.
May 31 2018, 3:39 AM
tdammers added a comment to D4740: Check if both branches of an Cmm if have the same target..

Your test is failing on OS X; seems to be a difference in how the wc implementations format their output - the Linux one left-aligns the 0, while the OS X one pads it with spaces. A not very elegant, but effective, solution would be to throw a quick sed job into the pipeling, something like | sed -e 's/^\s*//' maybe?

May 31 2018, 2:25 AM

May 30 2018

tdammers requested changes to D4740: Check if both branches of an Cmm if have the same target..

Might be confusing for an unsuspecting reader to read hints about swapping the branches of a conditional, and then seeing code that also reduces conditionals down to just the plain branches.

May 30 2018, 10:50 AM
tdammers accepted D4742: Unpack and simplify QSem.
May 30 2018, 10:46 AM
tdammers updated the diff for D4744: Turn "inaccessible code" error into a warning.

Updated to reflect changed output in tests, and adding -Werror to tests that should fail.

May 30 2018, 9:45 AM
tdammers added inline comments to D4751: Add some comments about interruptibility for Chan.
May 30 2018, 9:43 AM
tdammers requested changes to D4751: Add some comments about interruptibility for Chan.
May 30 2018, 9:43 AM

May 29 2018

tdammers requested changes to D4746: Fix unparseable pretty-printing of promoted data cons.

Marking as "request changes", because this is clearly WIP.

May 29 2018, 2:57 AM
tdammers added a comment to D4745: [testing] testsuite: Accept new output.

Do we know what causes these? Shouldn't we have a ticket about this?

May 29 2018, 2:29 AM

May 28 2018

tdammers added inline comments to D4739: Fix "redundant constraint" warnings when meets functional dependencies.
May 28 2018, 8:48 AM
tdammers added inline comments to D4742: Unpack and simplify QSem.
May 28 2018, 8:35 AM
tdammers created D4744: Turn "inaccessible code" error into a warning.
May 28 2018, 3:05 AM
tdammers updated the diff for D4729: Handle abi-depends correctly in ghc-pkg.

ghc-pkg: properly recompute abi-depends for updated packages.

May 28 2018, 2:28 AM

May 24 2018

tdammers added inline comments to D4729: Handle abi-depends correctly in ghc-pkg.
May 24 2018, 1:17 PM
tdammers created D4729: Handle abi-depends correctly in ghc-pkg.
May 24 2018, 6:29 AM

May 17 2018

tdammers added a comment to D4637: Merge FUN_STATIC closure with its SRT.

Ömer suggested that this build error may be related: https://gist.github.com/tdammers/259593ba48374fa1b3e0885ada646d08

May 17 2018, 3:30 AM

Apr 30 2018

tdammers updated the diff for D4635: Fix performance regressions from #14737.

Fix as per Trac #15019.

Apr 30 2018, 4:36 AM
tdammers added inline comments to D4635: Fix performance regressions from #14737.
Apr 30 2018, 2:36 AM

Apr 26 2018

tdammers requested review of D4635: Fix performance regressions from #14737.
Apr 26 2018, 11:12 AM

Apr 20 2018

tdammers updated the diff for D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.
  • Add SCCs to hunt down Trac #14683
  • Add regression test (Grammar.hs from Trac #14683)
  • Improve coercionKind(Role) perfomance
  • Cache coercion roles in NthCo
Apr 20 2018, 4:01 AM

Apr 19 2018

tdammers updated the summary of D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.
Apr 19 2018, 9:28 AM

Apr 16 2018

tdammers requested review of D4568: Remove unnecessary check in simplCast.
Apr 16 2018, 2:54 AM

Apr 12 2018

tdammers updated the diff for D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.
  • Added SCCs to hunt down Trac #14683
  • Improve coercionKind(Role) perfomance
  • Cache coercion roles in NthCo
Apr 12 2018, 10:43 AM

Apr 11 2018

tdammers updated the diff for D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.
  • Bump perf test targets
Apr 11 2018, 6:52 AM

Apr 5 2018

tdammers added a comment to D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.

Separate patch with "debug only" improvements in D4570.

Apr 5 2018, 6:44 AM
tdammers updated the diff for D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.
  • Fix bug in invocation of decomposeFunCo
Apr 5 2018, 6:43 AM
tdammers added a comment to D4394: Caching coercion roles in NthCo and coercionKindsRole refactoring.

I have fixed the bug and pushed to wip/tdammers/D4394

Apr 5 2018, 6:24 AM
tdammers updated the summary of D4395: Discard reflexive casts during Simplify.
Apr 5 2018, 5:13 AM
tdammers updated the diff for D4395: Discard reflexive casts during Simplify.

Rewrote commit message & implemented suggested change.

Apr 5 2018, 5:12 AM
tdammers abandoned D4569: Simplify simplCast.
Apr 5 2018, 5:12 AM

Apr 3 2018

tdammers added a comment to D4395: Discard reflexive casts during Simplify.

@simonpj, could you quickly review & comment on the updated summary (identical to commit message)?

Apr 3 2018, 10:30 AM