adamgundry (Adam Gundry)
Haskell Consultant, Well-Typed LLP

Projects

User does not belong to any projects.

User Details

User Since
Jun 10 2014, 11:10 AM (254 w, 4 h)

Recent Activity

Jun 18 2018

adamgundry added a comment to rGHC8ee9c574a6d2: Amend configure script to support lndir build tree.

Strangely this appears to break the OS X build. Reverting for now.

Jun 18 2018, 2:17 AM

Jun 15 2018

adamgundry created D4853: Amend configure script to support lndir build tree.
Jun 15 2018, 4:15 PM
adamgundry added a comment to D4805: Handle DuplicateRecordFields correctly in filterImports (fixes #14487).

Thanks for the feedback. I've made the suggested refactor and fixed a tiny bug I spotted along the way.

Jun 15 2018, 4:01 PM
adamgundry updated the diff for D4805: Handle DuplicateRecordFields correctly in filterImports (fixes #14487).
  • Refactor by adding avail[s]NamesWithOccs
  • Don't show mangled selector names in -Wduplicate-exports
Jun 15 2018, 4:01 PM

Jun 11 2018

adamgundry added a comment to D4821: Use data con name instead of parent in lookupRecFieldOcc.

Thanks for the review. I've added extensive comments and (hopefully) validate should now pass.

Jun 11 2018, 5:04 PM
adamgundry updated the diff for D4821: Use data con name instead of parent in lookupRecFieldOcc.
  • Remove unused argument of lookupRecFieldOcc
  • Comments on how DisambiguateRecordFields (now) works
Jun 11 2018, 5:04 PM
adamgundry planned changes to D4821: Use data con name instead of parent in lookupRecFieldOcc.

Sorry for the CI noise. I'm now back at my desktop so will make sure this validates before the next diff update.

Jun 11 2018, 2:43 AM

Jun 10 2018

adamgundry updated the diff for D4821: Use data con name instead of parent in lookupRecFieldOcc.
  • Further corner cases of record field lookup
Jun 10 2018, 6:22 AM

Jun 9 2018

adamgundry updated the diff for D4821: Use data con name instead of parent in lookupRecFieldOcc.
  • Permit unqualified field labels even if only in scope qualified
Jun 9 2018, 8:15 AM
adamgundry created D4821: Use data con name instead of parent in lookupRecFieldOcc.
Jun 9 2018, 4:28 AM

Jun 8 2018

adamgundry updated the diff for D4805: Handle DuplicateRecordFields correctly in filterImports (fixes #14487).
  • Add a comment [skip ci]
Jun 8 2018, 5:08 AM

Jun 7 2018

adamgundry created D4805: Handle DuplicateRecordFields correctly in filterImports (fixes #14487).
Jun 7 2018, 6:20 AM

Mar 24 2018

adamgundry created D4527: Fix panic on module re-exports of DuplicateRcordFields.
Mar 24 2018, 5:18 PM

Sep 21 2017

adamgundry added inline comments to D4002: Implement Div, Mod, and Log for type-level nats..
Sep 21 2017, 1:41 PM

Sep 18 2017

adamgundry created D3988: Identify fields by selector when type-checking (fixes #13644).
Sep 18 2017, 4:14 PM

Jul 10 2017

adamgundry accepted D3718: Fix #13947 by checking for unbounded names more.

Thanks, good catch!

Jul 10 2017, 2:02 AM

Feb 24 2017

adamgundry added a comment to D3144: Update OverloadedLabels docs and document HasField.

Thanks @bgamari!

Feb 24 2017, 5:19 AM

Feb 23 2017

adamgundry added a comment to D3174: Record full FieldLabel in ifConFields..

Thanks for this! I agree that it makes sense to do away with the premature "optimization" here.

Feb 23 2017, 2:39 AM

Feb 17 2017

adamgundry created D3144: Update OverloadedLabels docs and document HasField.
Feb 17 2017, 8:06 AM

Feb 13 2017

adamgundry updated the diff for D3126: Refactor renaming of operators/sections to fix DuplicateRecordFields bugs.
  • Add missing test result
Feb 13 2017, 2:49 AM

Feb 10 2017

adamgundry created D3126: Refactor renaming of operators/sections to fix DuplicateRecordFields bugs.
Feb 10 2017, 3:13 PM

Feb 8 2017

adamgundry added a comment to D2708: Implement HasField constraint solving and modify OverloadedLabels.

I've removed the IsLabel instance for (->), following consensus on the proposal PR, and taken into account the review feedback so far. Thanks @bgamari!

Feb 8 2017, 3:32 PM
adamgundry updated the diff for D2708: Implement HasField constraint solving and modify OverloadedLabels.
  • Remove IsLabel instance for (->)
  • Comments only
  • Use OccSet instead of [FastString] in rnHsRecFields.rn_dotdot
Feb 8 2017, 3:29 PM
adamgundry committed rGHC2833f0eae725: Use OccSet instead of [FastString] in rnHsRecFields.rn_dotdot (authored by adamgundry).
Use OccSet instead of [FastString] in rnHsRecFields.rn_dotdot
Feb 8 2017, 3:24 PM
adamgundry committed rGHCbdd315839d1b: Comments only (authored by adamgundry).
Comments only
Feb 8 2017, 3:24 PM
adamgundry committed rGHC533ee260026a: Remove IsLabel instance for (->) (authored by adamgundry).
Remove IsLabel instance for (->)
Feb 8 2017, 3:24 PM

Jan 30 2017

adamgundry retitled D2708: Implement HasField constraint solving and modify OverloadedLabels from Implement OverloadedRecordFields and modify OverloadedLabels to Implement HasField constraint solving and modify OverloadedLabels.
Jan 30 2017, 10:41 AM

Jan 28 2017

adamgundry added a comment to D2708: Implement HasField constraint solving and modify OverloadedLabels.

This is now up to date with the current state of the proposal, and somewhat simpler as a result. Thanks to @dfeuer's feedback I found and fixed a bug.

Jan 28 2017, 3:40 PM
adamgundry updated the diff for D2708: Implement HasField constraint solving and modify OverloadedLabels.
  • Add HasField class with magic constraint solving
  • Remove Proxy# from IsLabel and add function space instance using HasField
Jan 28 2017, 3:31 PM
adamgundry committed rGHC623acf55a9d2: Remove Proxy# from IsLabel and add function space instance using HasField (authored by adamgundry).
Remove Proxy# from IsLabel and add function space instance using HasField
Jan 28 2017, 3:27 PM
adamgundry committed rGHCf21526f48734: Add HasField class with magic constraint solving (authored by adamgundry).
Add HasField class with magic constraint solving
Jan 28 2017, 3:27 PM

Jan 3 2017

adamgundry added a comment to D2898: typecheck: Disallow users to write instances of KnownNat and KnownSym.

Thanks very much @sjorn3 for taking this on, and to the others for the review. Sorry I missed this earlier due to the holiday.

Jan 3 2017, 10:22 AM

Nov 15 2016

adamgundry committed rGHC08ac91d76a09: Fix test output (authored by adamgundry).
Fix test output
Nov 15 2016, 6:47 AM
adamgundry updated the diff for D2708: Implement HasField constraint solving and modify OverloadedLabels.
  • Fix test output
Nov 15 2016, 6:47 AM
adamgundry committed rGHCc0ce34041d3e: Remove unnecessary extensions, in particular NoImplicitPrelude (authored by adamgundry).
Remove unnecessary extensions, in particular NoImplicitPrelude
Nov 15 2016, 2:33 AM
adamgundry committed rGHC0bf2da87c75e: Implement OverloadedRecordFields and modify OverloadedLabels (authored by adamgundry).
Implement OverloadedRecordFields and modify OverloadedLabels
Nov 15 2016, 2:33 AM
adamgundry updated the diff for D2708: Implement HasField constraint solving and modify OverloadedLabels.
  • Remove unnecessary extensions, in particular NoImplicitPrelude
Nov 15 2016, 2:32 AM

Nov 14 2016

adamgundry abandoned D1687: OverloadedRecordFields magic constraint solving for HasField.

I've put together an updated implementation of this as D2708.

Nov 14 2016, 4:23 PM
adamgundry retitled D2708: Implement HasField constraint solving and modify OverloadedLabels from to Implement OverloadedRecordFields and modify OverloadedLabels.
Nov 14 2016, 4:22 PM

Oct 9 2016

adamgundry committed rGHC3aaae48d195e: Remove redundant imports (authored by adamgundry).
Remove redundant imports
Oct 9 2016, 8:33 AM
adamgundry committed rGHC369a3dee65ca: Check HasField instances to prevent overlap with built-in solving (authored by adamgundry).
Check HasField instances to prevent overlap with built-in solving
Oct 9 2016, 8:33 AM
adamgundry committed rGHC407861293edb: Remove unnecessary SOURCE imports (authored by adamgundry).
Remove unnecessary SOURCE imports
Oct 9 2016, 8:33 AM
adamgundry committed rGHCbbf6615cf2a0: Replace EvExpr with more specific EvSelector in EvTerm (authored by adamgundry).
Replace EvExpr with more specific EvSelector in EvTerm
Oct 9 2016, 8:33 AM

Oct 8 2016

adamgundry committed rGHC94a4e8fbd14e: Add a mysterious reverse to correct evidence for HasField (authored by adamgundry).
Add a mysterious reverse to correct evidence for HasField
Oct 8 2016, 11:15 AM
adamgundry committed rGHCacd495db07e7: Support combination of OverloadedLabels and RebindableSyntax (fixes #12243) (authored by adamgundry).
Support combination of OverloadedLabels and RebindableSyntax (fixes #12243)
Oct 8 2016, 11:15 AM
adamgundry committed rGHCc6f7c45f3151: Adapt ORF/OL tests (authored by adamgundry).
Adapt ORF/OL tests
Oct 8 2016, 11:15 AM
adamgundry committed rGHC307ab8ed1c15: Reintroduce OverloadedRecordFields extension, with specialised behaviour (authored by adamgundry).
Reintroduce OverloadedRecordFields extension, with specialised behaviour
Oct 8 2016, 11:15 AM
adamgundry committed rGHCf9060470224b: Rename overloadedrecfldsghci01 test to duplicaterecfldsghci01 (authored by adamgundry).
Rename overloadedrecfldsghci01 test to duplicaterecfldsghci01
Oct 8 2016, 11:15 AM
adamgundry committed rGHCd2df6663d987: Add IsLabel (->) instance (authored by adamgundry).
Add IsLabel (->) instance
Oct 8 2016, 11:15 AM
adamgundry committed rGHC4dd3636f46ed: Merge remote-tracking branch 'origin/master' into wip/hasfield (authored by adamgundry).
Merge remote-tracking branch 'origin/master' into wip/hasfield
Oct 8 2016, 11:15 AM
adamgundry committed rGHC93c1ca867632: Extend extra_files for hasfieldfail01 (authored by adamgundry).
Extend extra_files for hasfieldfail01
Oct 8 2016, 11:15 AM
adamgundry committed rGHC3b80b754f1bc: Remove Proxy# argument from GHC.OverloadedLabels.fromLabel (authored by adamgundry).
Remove Proxy# argument from GHC.OverloadedLabels.fromLabel
Oct 8 2016, 11:15 AM
adamgundry committed rGHC319ec378d3d5: Remove Proxy# argument from HasField and make poly-kinded (authored by adamgundry).
Remove Proxy# argument from HasField and make poly-kinded
Oct 8 2016, 11:15 AM

Sep 27 2016

adamgundry retitled D2549: Do not warn about unused underscore-prefixed fields (fixes Trac #12609) from to Do not warn about unused underscore-prefixed fields (fixes Trac #12609).
Sep 27 2016, 1:06 PM

Jun 9 2016

adamgundry retitled D2321: Avoid find_tycon panic if datacon is not in scope from to Avoid find_tycon panic if datacon is not in scope.
Jun 9 2016, 10:40 AM

May 24 2016

adamgundry added a comment to D2179: Remove `PatternSynonym` constructor from `Parent`..

The new errors look much better. @mpickering thank you very much for persevering with this!

May 24 2016, 5:47 AM

May 16 2016

adamgundry added inline comments to D2179: Remove `PatternSynonym` constructor from `Parent`..
May 16 2016, 12:19 PM
adamgundry committed rGHCb50eb34cc3a9: Merge remote-tracking branch 'origin/master' into wip/hasfield (authored by adamgundry).
Merge remote-tracking branch 'origin/master' into wip/hasfield
May 16 2016, 3:10 AM
adamgundry committed rGHCd3809a56bc66: Solve HasField constraints involving data families (authored by adamgundry).
Solve HasField constraints involving data families
May 16 2016, 3:10 AM
adamgundry committed rGHC2b91d149005b: Test interaction between HasField and DuplicateRecordFields (authored by adamgundry).
Test interaction between HasField and DuplicateRecordFields
May 16 2016, 3:10 AM
adamgundry committed rGHC835c52e2d7c0: OverloadedRecordFields magic constraint solving for HasField (authored by adamgundry).
OverloadedRecordFields magic constraint solving for HasField
May 16 2016, 3:10 AM
adamgundry committed rGHC068f69b4021c: Resolve module import loop by adding a new boot file :-( (authored by adamgundry).
Resolve module import loop by adding a new boot file :-(
May 16 2016, 3:10 AM
adamgundry committed rGHC97ebccc0f0f2: Comment matchHasField, move addUsedGRE to right place (authored by adamgundry).
Comment matchHasField, move addUsedGRE to right place
May 16 2016, 3:10 AM
adamgundry committed rGHC9a390aa6277b: Support virtual fields via manual HasField instances (authored by adamgundry).
Support virtual fields via manual HasField instances
May 16 2016, 3:10 AM
adamgundry committed rGHCeb6f660b85c7: Do not solve HasField constraints where the field is naughty or higher-rank (authored by adamgundry).
Do not solve HasField constraints where the field is naughty or higher-rank
May 16 2016, 3:10 AM
adamgundry committed rGHCc9f8c927fb2f: Basic tests for HasField constraint solving (authored by adamgundry).
Basic tests for HasField constraint solving
May 16 2016, 3:10 AM
adamgundry committed rGHC8966ab38686b: Initial work on magic solving of HasField constraints (authored by adamgundry).
Initial work on magic solving of HasField constraints
May 16 2016, 3:10 AM
adamgundry committed rGHC760d4e8399ce: Add GHC.Records module including HasField class (authored by adamgundry).
Add GHC.Records module including HasField class
May 16 2016, 3:10 AM
adamgundry committed rGHCcc1fc74834f9: Make addUsedGRE available in TcS (authored by adamgundry).
Make addUsedGRE available in TcS
May 16 2016, 3:10 AM
adamgundry committed rGHC9822545bbb2e: Make tcLookupId available in TcS (authored by adamgundry).
Make tcLookupId available in TcS
May 16 2016, 3:10 AM
adamgundry committed rGHCbca49cd5c74b: Add EvExpr constructor to EvTerm (authored by adamgundry).
Add EvExpr constructor to EvTerm
May 16 2016, 3:10 AM
adamgundry committed rGHC35cd30152f88: Add dataConFieldType_maybe (authored by adamgundry).
Add dataConFieldType_maybe
May 16 2016, 3:10 AM
adamgundry added a comment to D1687: OverloadedRecordFields magic constraint solving for HasField.

In principle this is still awaiting review; I've been meaning to chase it up but have had lots of other things going on! I would particularly like feedback on:

May 16 2016, 3:10 AM

Mar 1 2016

adamgundry retitled D1965: Drop module qualifier from punned record fields (#11662) from to Drop module qualifier from punned record fields (#11662).
Mar 1 2016, 12:33 PM

Jan 30 2016

adamgundry retitled D1870: Avoid mangled/derived names in GHCi autocomplete (fixes #11328) from to Avoid mangled/derived names in GHCi autocomplete (fixes #11328).
Jan 30 2016, 3:03 PM

Dec 30 2015

adamgundry added a comment to D1454: Convert 'inaccessible code' errors into warnings..

I'd like to see this. Here's a slight variant on @goldfire's suggestion for implementation:

Dec 30 2015, 6:32 AM

Dec 29 2015

adamgundry updated the diff for D1695: Fix panic when using pattern synonyms with DisambiguateRecordFields (#11283).

Sorry, forgot a file

Dec 29 2015, 3:35 AM

Dec 24 2015

adamgundry retitled D1695: Fix panic when using pattern synonyms with DisambiguateRecordFields (#11283) from to Fix panic when using pattern synonyms with DisambiguateRecordFields (#11283).
Dec 24 2015, 5:20 AM

Dec 23 2015

adamgundry updated the diff for D1687: OverloadedRecordFields magic constraint solving for HasField.
  • Merge remote-tracking branch 'origin/master' into wip/hasfield
Dec 23 2015, 7:23 AM
adamgundry updated the diff for D1687: OverloadedRecordFields magic constraint solving for HasField.

Fix build and test more cases

  • Resolve module import loop by adding a new boot file :-(
  • Test interaction between HasField and DuplicateRecordFields
  • Solve HasField constraints involving data families
Dec 23 2015, 6:26 AM

Dec 22 2015

adamgundry added inline comments to D1687: OverloadedRecordFields magic constraint solving for HasField.
Dec 22 2015, 11:56 AM
adamgundry retitled D1687: OverloadedRecordFields magic constraint solving for HasField from to OverloadedRecordFields magic constraint solving for HasField.
Dec 22 2015, 11:54 AM

Dec 15 2015

adamgundry added a comment to D1586: Reify DuplicateRecordFields by label, rather than by selector.

I've revised the implementation because I realised we can do slightly better. Now the potential error arises only in a very obscure set of circumstances (see T11103.hs for an example).

Dec 15 2015, 7:13 AM
adamgundry updated D1586: Reify DuplicateRecordFields by label, rather than by selector.
Dec 15 2015, 7:07 AM
adamgundry updated the diff for D1586: Reify DuplicateRecordFields by label, rather than by selector.
  • Merge remote-tracking branch 'origin/master' into wip/T11103
  • Implement alternative version of reifyFieldLabel
Dec 15 2015, 7:04 AM

Dec 14 2015

adamgundry retitled D1623: Document -XOverloadedLabels from to Document -XOverloadedLabels.
Dec 14 2015, 3:54 PM

Dec 11 2015

adamgundry updated D1600: Fix infix record field fixity (#11167 and #11173)..
Dec 11 2015, 11:22 AM
adamgundry updated the diff for D1600: Fix infix record field fixity (#11167 and #11173)..
  • Remove redundant import
Dec 11 2015, 11:18 AM
adamgundry added a comment to D1585: Fix infix record field fixity (#11167)..

I've created a new revision (D1600) incorporating these changes (apologies if this was the Wrong Thing to do on Phab...) that fixes up the remaining problems with infix fields.

Dec 11 2015, 10:31 AM
adamgundry retitled D1600: Fix infix record field fixity (#11167 and #11173). from to Fix infix record field fixity (#11167 and #11173)..
Dec 11 2015, 10:29 AM

Dec 7 2015

adamgundry added a comment to D1585: Fix infix record field fixity (#11167)..

Thanks for sorting this out, looks good to me. We want DuplicateRecordFields to be usable in isolation, so it is worth doing. I'll see if I can correct infix declarations for record fields and test the ambiguous case more thoroughly.

Dec 7 2015, 12:17 PM
adamgundry retitled D1586: Reify DuplicateRecordFields by label, rather than by selector from to Reify DuplicateRecordFields by label, rather than by selector.
Dec 7 2015, 11:57 AM

Nov 24 2015

adamgundry updated the diff for D1522: User documentation for DuplicateRecordFields.

Pull out record extensions docs as a new section

Nov 24 2015, 5:10 AM
adamgundry retitled D1522: User documentation for DuplicateRecordFields from to User documentation for DuplicateRecordFields.
Nov 24 2015, 4:30 AM

Nov 17 2015

adamgundry retitled D1486: Fix interaction of DuplicateRecordFields and GHC.Generics from to Fix interaction of DuplicateRecordFields and GHC.Generics.
Nov 17 2015, 10:14 AM

Nov 9 2015

adamgundry updated the diff for D1331: Implement OverloadedLabels.
  • Merge remote-tracking branch 'origin/master' into wip/overloaded-labels
Nov 9 2015, 10:48 AM
adamgundry updated the diff for D1331: Implement OverloadedLabels.

Documentation and addition of Proxy# argument

  • Merge remote-tracking branch 'origin/master' into wip/overloaded-labels
  • Rename overloadedLabelClassName and get rid of unnecessary overloadedLabelName
  • Add Proxy# argument to fromLabel, and document
Nov 9 2015, 10:45 AM

Nov 6 2015

adamgundry added a comment to D1331: Implement OverloadedLabels.

Lennart commented on the wiki page:

Nov 6 2015, 10:25 AM

Oct 30 2015

adamgundry added a comment to D1331: Implement OverloadedLabels.

Apart from the fact that it could do with some more comments, is it okay to merge this?

Oct 30 2015, 11:15 AM
adamgundry committed rGHC0a16374109ad: Disambiguate record selectors by type signature (authored by adamgundry).
Disambiguate record selectors by type signature
Oct 30 2015, 9:15 AM