simonpj (Simon Peyton Jones)
User

Projects

User Details

User Since
Jun 9 2014, 9:34 AM (235 w, 4 d)

Recent Activity

Yesterday

simonpj committed rGHC80ccee236795: Remove another unused import from WwLib (authored by simonpj).
Remove another unused import from WwLib
Thu, Dec 13, 5:38 PM
simonpj accepted D5447: don't suggest Rank2Types in error messages (Fixed #16000).
Thu, Dec 13, 11:03 AM
simonpj accepted D5440: Fix #16030 by refactoring IfaceSyn's treatment of GADT constructors.

Great, thatnks

Thu, Dec 13, 10:02 AM
simonpj added inline comments to D5401: Linear types: stepping stone.
Thu, Dec 13, 9:23 AM
simonpj added inline comments to D5401: Linear types: stepping stone.
Thu, Dec 13, 9:07 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

This is all a great improvement.

Thu, Dec 13, 5:29 AM

Wed, Dec 12

simonpj added a comment to D5444: Fix #10857: ghci ignores -XMonomorphismRestriction and -XNoExtendedDefaultRules command line flags.

Looks good, thanks. I suggest a minor refactoring

Wed, Dec 12, 2:48 PM
simonpj committed rGHCf0eb404e1b5b: Remove dead code (authored by simonpj).
Remove dead code
Wed, Dec 12, 2:29 PM
simonpj committed rGHCd77501cd5b90: Improvements to demand analysis (authored by simonpj).
Improvements to demand analysis
Wed, Dec 12, 11:40 AM

Mon, Dec 10

simonpj added a comment to D5408: Introduce ExpPatFrame.

Unfortunately, while do or let cannot be used in patterns, they can be used in commands, so we end up duplicating most of HsExpr constructors for the sake of HsCmd. If not for this, we'd be able to make ExpPatFrame smaller.

Mon, Dec 10, 4:57 PM
simonpj requested changes to D5435: Fix #16008 with a pinch of addConsistencyConstraints.

Thanks for doing this

Mon, Dec 10, 4:44 PM
simonpj added inline comments to D5229: Visible kind application.
Mon, Dec 10, 10:00 AM
simonpj added a comment to D5408: Introduce ExpPatFrame.

The new datatype is entirely local to the parser. This is in contrast to the other GhcPasses which communicate between phases of the compiler.

Mon, Dec 10, 4:12 AM

Fri, Dec 7

simonpj committed rGHCf334d20e00e3: Careful tweaking to exprOkForSpeculation (authored by simonpj).
Careful tweaking to exprOkForSpeculation
Fri, Dec 7, 8:59 AM
simonpj committed rGHC5b7ca03995c1: Wibble to Taming the Kind Inference Monster (authored by simonpj).
Wibble to Taming the Kind Inference Monster
Fri, Dec 7, 8:44 AM
simonpj added a comment to D5408: Introduce ExpPatFrame.

I'm worried about these gigantic instance contexts. I don't understand your suggested solution yet, Vladislav; could you give a concrete example?

Fri, Dec 7, 4:02 AM
simonpj added a comment to D5408: Introduce ExpPatFrame.

I expect each pass to be aware only of its input and output structures:

Fri, Dec 7, 3:45 AM

Thu, Dec 6

simonpj added inline comments to D5420: Fix #16002 by moving a validity check to the renamer.
Thu, Dec 6, 4:12 PM
simonpj added a reviewer for D5408: Introduce ExpPatFrame: shayan-najd.
Thu, Dec 6, 3:58 PM
simonpj added a comment to D5408: Introduce ExpPatFrame.

Does this sound reasonable?

Thu, Dec 6, 3:58 PM
simonpj added inline comments to D5400: Make constructor wrappers inline only during the final phase.
Thu, Dec 6, 11:49 AM
simonpj committed rGHC081f44bf3a2f: Remove a tcTrace (authored by simonpj).
Remove a tcTrace
Thu, Dec 6, 8:46 AM
simonpj committed rGHC91c4e71f633e: Tests Trac #14847 (authored by simonpj).
Tests Trac #14847
Thu, Dec 6, 8:46 AM
simonpj added a comment to D5397: Fix #12102/#15872 by removing outdated users' guide prose.

Let's land this!

Thu, Dec 6, 8:41 AM
simonpj added a comment to D5408: Introduce ExpPatFrame.

Thank you!

Thu, Dec 6, 8:10 AM
simonpj added a comment to D5408: Introduce ExpPatFrame.
we would create a new stage GhcPrePs for it.
Thu, Dec 6, 6:46 AM
simonpj added a comment to D5408: Introduce ExpPatFrame.

Thanks for doing this.

Thu, Dec 6, 6:10 AM
simonpj added a comment to D5400: Make constructor wrappers inline only during the final phase.

Generally looking good. A few suggestions.

Thu, Dec 6, 5:03 AM
simonpj added a comment to D4777: Implement the Unlifted Newtypes proposal. This is proposal 13 on the ghc-proposals repo and is fully described there..

Is this in-flight or do you consider it done? If the latter I will gladly have a look. Thanks!

Thu, Dec 6, 2:39 AM

Wed, Dec 5

simonpj accepted D5414: Don't use a generic apply thunk for known calls.

Looks good to me. Please create a ticket, though, describe the idea, and put the perf-change data in it.
Then you can refer to the ticket from the one-line code change.

Wed, Dec 5, 5:11 PM
simonpj added a comment to D5394: Fix recompilation bug with default class methods (#15970).

I think I'll just go with this and save the refactoring for the next time I'm on a transatlantic flight.

Wed, Dec 5, 4:45 PM
simonpj committed rGHC84cba4bce65f: Remove duplicates in -ddump-minimial-imports (authored by simonpj).
Remove duplicates in -ddump-minimial-imports
Wed, Dec 5, 4:36 AM

Tue, Dec 4

simonpj added a comment to D5377: Show instance import provenance on overlapping instances.

Examples would take up a lot of space. Would it be fine to insert about 2 pages of comments for this minor addition?

Tue, Dec 4, 7:18 AM
simonpj added inline comments to D5377: Show instance import provenance on overlapping instances.
Tue, Dec 4, 4:46 AM
simonpj added a comment to D5401: Linear types: stepping stone.

At least to be merged after the bugs listed in my first comment are fixed, and syntax is decided,

Tue, Dec 4, 2:57 AM

Mon, Dec 3

simonpj committed rGHCa46511a88e71: Comments only (authored by simonpj).
Comments only
Mon, Dec 3, 7:49 AM
simonpj committed rGHC03d4852658e1: Introduce tcTypeKind, and use it (authored by simonpj).
Introduce tcTypeKind, and use it
Mon, Dec 3, 7:42 AM
simonpj accepted D5241: Add fusion rules for the zipWith functions in base (#15263).

generally looks ok to me, thank you. (Although I have not checked every line.) Ben: merge this?

Mon, Dec 3, 5:35 AM
simonpj accepted D5403: Fix embarrassing infinite loop in pprParendType.
Mon, Dec 3, 2:38 AM

Sat, Dec 1

simonpj accepted D5402: Fix #15954 by rejigging check_type's order.
Sat, Dec 1, 2:27 PM
simonpj accepted D5370: Fix StgLint bound id check, generalize StgLint.
Sat, Dec 1, 4:40 AM

Fri, Nov 30

simonpj added a comment to D5397: Fix #12102/#15872 by removing outdated users' guide prose.

They can appear in the kinds of promoted data constructors, say from GADTs with hand-written equality constraints.

Fri, Nov 30, 4:12 PM
simonpj added a comment to D5397: Fix #12102/#15872 by removing outdated users' guide prose.
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.
Fri, Nov 30, 3:33 PM
simonpj added inline comments to D5394: Fix recompilation bug with default class methods (#15970).
Fri, Nov 30, 3:31 PM
simonpj added a comment to D5397: Fix #12102/#15872 by removing outdated users' guide prose.

Great! I had quite forgotten that bit of the monster-patch. I hope Richard agrees!?

Fri, Nov 30, 10:59 AM
simonpj committed rGHC80d665a12330: Two tests for Trac #14230 (authored by simonpj).
Two tests for Trac #14230
Fri, Nov 30, 8:41 AM
simonpj added inline comments to rGHC2257a86daa72: Taming the Kind Inference Monster.
Fri, Nov 30, 7:10 AM

Thu, Nov 29

simonpj committed rGHC2257a86daa72: Taming the Kind Inference Monster (authored by simonpj).
Taming the Kind Inference Monster
Thu, Nov 29, 11:28 AM
simonpj committed rGHC1235ca956c80: Test Trac #15943 (authored by simonpj).
Test Trac #15943
Thu, Nov 29, 5:47 AM

Wed, Nov 28

simonpj committed rGHCe08d34bbb4e6: Comments only (authored by simonpj).
Comments only
Wed, Nov 28, 11:10 AM

Tue, Nov 27

simonpj added a comment to D5330: Introduce map from RdrName to Name for GHC API.
In D5330#148230, @alanz wrote:
Tue, Nov 27, 4:39 AM

Mon, Nov 26

simonpj added inline comments to D5375: Fix #15941 by only special-casing visible infix applications.
Mon, Nov 26, 9:44 AM
simonpj added inline comments to D5375: Fix #15941 by only special-casing visible infix applications.
Mon, Nov 26, 9:44 AM
simonpj added a comment to D5330: Introduce map from RdrName to Name for GHC API.

Alan, could you write a Note or wiki page or something explaining

Mon, Nov 26, 7:39 AM
simonpj accepted D5251: enable rebindable fail with overloaded strings.

Yes, fine with me, thank you.

Mon, Nov 26, 5:37 AM

Sat, Nov 24

simonpj added inline comments to D5305: Towards using level numbers for generalisation.
Sat, Nov 24, 3:22 PM

Fri, Nov 23

simonpj added a comment to D5301: Special-case kind-checking single type synonyms.

You are mistaken here

Fri, Nov 23, 7:59 AM
simonpj added a comment to D5301: Special-case kind-checking single type synonyms.

Good points Ryan.

Fri, Nov 23, 7:41 AM
simonpj added a comment to D5305: Towards using level numbers for generalisation.

Thanks for the help. Some rejoinders inline

Fri, Nov 23, 7:15 AM
simonpj accepted D5282: Print explicit foralls in type family eqns when appropriate.

Thoughts on the discussion above, @simonpj?

Fri, Nov 23, 7:01 AM
simonpj accepted D5224: Implement late lambda lift.
Fri, Nov 23, 6:49 AM
simonpj added a comment to D5224: Implement late lambda lift.

I'm content to commit this. It's a significant piece of code, and I have not reviewed it in detail. But it's completely separable from everything else; it only runs with -O2.

Fri, Nov 23, 6:49 AM
simonpj accepted D5036: [TTG: Handling Source Locations] Foundation and Pat.

Great. Looks good to me.

Fri, Nov 23, 6:39 AM

Tue, Nov 20

simonpj added inline comments to D5357: Fixup the new code layout patch for SplitObjs..
Tue, Nov 20, 11:43 AM
simonpj added a comment to D5301: Special-case kind-checking single type synonyms.

Gah! I wrote this response a day or two ago but forgot to press Submit!

Tue, Nov 20, 11:26 AM

Mon, Nov 19

simonpj added inline comments to D5305: Towards using level numbers for generalisation.
Mon, Nov 19, 10:58 AM

Fri, Nov 16

simonpj added a comment to D5036: [TTG: Handling Source Locations] Foundation and Pat.

Great. Aside from the changes I suggest in other comments, good to go.

Fri, Nov 16, 12:01 PM
simonpj added a comment to D5324: Don't track free variables in STG syntax by default.

I don't know about this dead-default-binder business. Don't we need dead-var info for _every_ variable? Case-binders are just a special case. Reason: after a case-expression, avoid loading the field from the constructor into a register.

Fri, Nov 16, 10:14 AM
simonpj committed rGHC32e7738bb1a1: Add missing stderr file for Trac #15898 (authored by simonpj).
Add missing stderr file for Trac #15898
Fri, Nov 16, 5:40 AM

Thu, Nov 15

simonpj committed rGHCae2c9b40f5b6: Smarter HsType pretty-print for promoted datacons (authored by simonpj).
Smarter HsType pretty-print for promoted datacons
Thu, Nov 15, 5:56 AM
simonpj committed rGHC0ce66be953be: Comments adding to the fix for Trac #15859 (authored by simonpj).
Comments adding to the fix for Trac #15859
Thu, Nov 15, 5:56 AM
simonpj committed rGHCfe0576426d3e: Comments only, about polykinded TyConApps (authored by simonpj).
Comments only, about polykinded TyConApps
Thu, Nov 15, 5:56 AM

Nov 14 2018

simonpj added a comment to D5282: Print explicit foralls in type family eqns when appropriate.

I'm not sure how it would be possible to get rid of the visibilities. Data family instance representation TyCons are, well, TyCons, and all TyCons have TyConBinders (which have visibilities). To me, this suggests that having visibilities is an essential property of being a data family instance representation TyCon. But perhaps I'm missing something.

Nov 14 2018, 6:00 AM
simonpj added inline comments to D5314: Overhaul -fprint-explicit-kinds to use VKA.
Nov 14 2018, 5:46 AM

Nov 13 2018

simonpj added a comment to D5301: Special-case kind-checking single type synonyms.

Had a better idea!

Nov 13 2018, 5:25 PM
simonpj added a comment to D5282: Print explicit foralls in type family eqns when appropriate.

I'll vote for "do it in another patch", s

Nov 13 2018, 3:58 PM
simonpj accepted D5314: Overhaul -fprint-explicit-kinds to use VKA.

Great. Modulo a couple of suggestions.

Nov 13 2018, 3:55 PM
simonpj added a comment to D5330: Introduce map from RdrName to Name for GHC API.
Every individual FastString has a unique id in it
Nov 13 2018, 3:46 PM
simonpj added a comment to D5324: Don't track free variables in STG syntax by default.

I also want to point out that CoreToStg isn't as simple as it could be: When trying to remove FreeVarInfos altogether, I realised that it still uses it at least for stuff like occurrence info

Nov 13 2018, 11:35 AM

Nov 12 2018

simonpj added inline comments to D5326: Fix #12525: Remove derived bindings from the TyThings from getBindings.
Nov 12 2018, 3:17 AM
simonpj added a comment to D5324: Don't track free variables in STG syntax by default.

Looks great -- but see my comment on annTopBindingsFreeVars

Nov 12 2018, 3:04 AM

Nov 9 2018

simonpj added a comment to D5314: Overhaul -fprint-explicit-kinds to use VKA.

Lovely thank you

Nov 9 2018, 10:00 AM
simonpj accepted D5313: Make `UniqDSet` a newtype.

I'm fine with this, thanks. Some comments above

Nov 9 2018, 9:24 AM

Nov 7 2018

simonpj added a comment to D5305: Towards using level numbers for generalisation.

One more thing. I've come across your Note [Use TyVarTvs in kind-checking pass] in TcTyClsDecls. I have not changed anything to do with this.

Nov 7 2018, 4:17 PM
simonpj added a comment to D5305: Towards using level numbers for generalisation.

Thanks! I've responded

Nov 7 2018, 4:02 PM
simonpj added a comment to D5305: Towards using level numbers for generalisation.

I should add that this patch validates.

Nov 7 2018, 2:37 PM
simonpj added inline comments to D5282: Print explicit foralls in type family eqns when appropriate.
Nov 7 2018, 11:15 AM

Nov 6 2018

simonpj added a comment to D5232: Remove StgBinderInfo and related computation in CoreToStg.

Omer, is this good to go? If so, commit!

Nov 6 2018, 5:22 AM
simonpj added inline comments to D5282: Print explicit foralls in type family eqns when appropriate.
Nov 6 2018, 4:05 AM

Nov 5 2018

simonpj added inline comments to D5301: Special-case kind-checking single type synonyms.
Nov 5 2018, 4:30 PM

Nov 1 2018

simonpj added inline comments to D5282: Print explicit foralls in type family eqns when appropriate.
Nov 1 2018, 11:17 AM
simonpj added inline comments to D5282: Print explicit foralls in type family eqns when appropriate.
Nov 1 2018, 10:48 AM

Oct 31 2018

simonpj added a comment to D5251: enable rebindable fail with overloaded strings.

OK, I'm content, thank you

Oct 31 2018, 5:31 PM
simonpj added a comment to D5282: Print explicit foralls in type family eqns when appropriate.

Generally great, thank you. One puzzlement.

Oct 31 2018, 5:25 PM
simonpj accepted D5285: Warn about unused packages.

Needs a test case or two.

Oct 31 2018, 5:08 PM
simonpj added a comment to D5224: Implement late lambda lift.

Edit: Now that I've read your comment on the ticket, it's clear you are talking about a note.

Oct 31 2018, 4:52 PM

Oct 26 2018

simonpj added a comment to D5224: Implement late lambda lift.

I have not read the code in detail, but broadly it looks fine.

Oct 26 2018, 8:55 AM
simonpj committed rGHC503514b94f8d: Fix nasty bug in the type free-var finder, at last (authored by simonpj).
Fix nasty bug in the type free-var finder, at last
Oct 26 2018, 8:05 AM
simonpj committed rGHC4de4b2253caa: Fix generalisation for type constructors (authored by simonpj).
Fix generalisation for type constructors
Oct 26 2018, 8:05 AM
simonpj committed rGHCe6bf96c9700a: De-monadise the 'extract' functions in RnTypes (authored by simonpj).
De-monadise the 'extract' functions in RnTypes
Oct 26 2018, 4:56 AM