simonpj (Simon Peyton Jones)
User

Projects

User Details

User Since
Jun 9 2014, 9:34 AM (262 w, 20 h)

Recent Activity

Fri, Jun 7

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCda26ffe795f1: Preserve ShadowInfo when rewriting evidence (authored by simonpj).
Preserve ShadowInfo when rewriting evidence
Fri, Jun 7, 9:29 AM

Mar 26 2019

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

@RyanGlScott, @simonpj, @goldfire, what should we do with this differential? It looks like there are valuable review comments here that would be good to preserve until the patch is landed but it's not clear to me how close we are to being able to do so.

Mar 26 2019, 10:39 AM

Mar 16 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC600a1ac3829c: Add location to the extra-constraints wildcard (authored by simonpj).
Add location to the extra-constraints wildcard
Mar 16 2019, 9:46 AM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC4927117cd616: Improve error recovery in the typechecker (authored by simonpj).
Improve error recovery in the typechecker
Mar 16 2019, 9:46 AM

Mar 15 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC57201bebaeb1: Add flavours link (authored by simonpj).
Add flavours link
Mar 15 2019, 2:10 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC97032ed9b259: Report better suggestion for GADT data constructor (authored by simonpj).
Report better suggestion for GADT data constructor
Mar 15 2019, 2:10 PM

Mar 12 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC50249a9f652a: Use transSuperClasses in TcErrors (authored by simonpj).
Use transSuperClasses in TcErrors
Mar 12 2019, 9:59 AM

Mar 10 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC1f5cc9dc8aee: Stop inferring over-polymorphic kinds (authored by simonpj).
Stop inferring over-polymorphic kinds
Mar 10 2019, 9:32 AM

Mar 9 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC5be7ad7861c8: Use captureTopConstraints in TcRnDriver calls (authored by simonpj).
Use captureTopConstraints in TcRnDriver calls
Mar 9 2019, 1:11 AM

Mar 7 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC25c3dd39f7d4: Test Trac #16263 (authored by simonpj).
Test Trac #16263
Mar 7 2019, 7:45 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC07f378cee373: Add tests for Trac #16221 and #16342 (authored by simonpj).
Add tests for Trac #16221 and #16342
Mar 7 2019, 7:44 PM

Mar 5 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC80dfcee61e3b: Be more careful when naming TyCon binders (authored by simonpj).
Be more careful when naming TyCon binders
Mar 5 2019, 3:44 PM

Mar 4 2019

Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC6cce36f83aec: Add AnonArgFlag to FunTy (authored by simonpj).
Add AnonArgFlag to FunTy
Mar 4 2019, 3:09 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCac34e784775a: Remove bogus assertion (authored by simonpj).
Remove bogus assertion
Mar 4 2019, 3:08 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC3f73f081d675: Comments only, in GhcPrelude (authored by simonpj).
Comments only, in GhcPrelude
Mar 4 2019, 1:07 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC5eeefe4c1e00: Improve the very simple optimiser slightly (authored by simonpj).
Improve the very simple optimiser slightly
Mar 4 2019, 1:07 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCe86606f2dd25: Tiny refactor in isUnliftedRuntimeRep (authored by simonpj).
Tiny refactor in isUnliftedRuntimeRep
Mar 4 2019, 1:07 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC2209ea86cbdf: Add comments about how zip fusion (authored by simonpj).
Add comments about how zip fusion
Mar 4 2019, 1:07 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC1f1b9e356a87: Get rid of tcm_smart from TyCoMapper (authored by simonpj).
Get rid of tcm_smart from TyCoMapper
Mar 4 2019, 1:07 PM
simonpj committed rGHC682783828275: Make a smart mkAppTyM (authored by simonpj).
Make a smart mkAppTyM
Mar 4 2019, 1:07 PM
simonpj committed rGHC5c1f268e2744: Fail fast in solveLocalEqualities (authored by simonpj).
Fail fast in solveLocalEqualities
Mar 4 2019, 1:07 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC9bb23d5f8bd7: Minor refactor of CUSK handling (authored by simonpj).
Minor refactor of CUSK handling
Mar 4 2019, 1:06 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCcefb780ee7ae: Comments only about the binder-swap in OccurAnal (authored by simonpj).
Comments only about the binder-swap in OccurAnal
Mar 4 2019, 1:06 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC616b2ef50d0a: Comments only (authored by simonpj).
Comments only
Mar 4 2019, 1:06 PM

Feb 20 2019

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

Feb 20 2019, 10:53 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?

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

Thanks! Go for it!

Feb 20 2019, 9:32 AM
simonpj accepted D5249: [#14037] Allow fusion for zip7 and related.

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

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

Lovely. Some minor suggestions.

Feb 20 2019, 3:39 AM

Feb 18 2019

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

Feb 18 2019, 8:06 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

Feb 18 2019, 3:08 AM

Jan 30 2019

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

Jan 28 2019

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.

Jan 28 2019, 3:42 AM

Jan 22 2019

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

PS the commit is

commit 2257a86daa72db382eb927df12a718669d5491f8
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Wed Nov 28 16:06:15 2018 +0000
Jan 22 2019, 4:59 PM
simonpj added a comment to D5305: Towards using level numbers for generalisation.

What is the status of this, @goldfire?

Jan 22 2019, 4:58 PM
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHCa5373c1fe172: Fix bogus worker for newtypes (authored by simonpj).
Fix bogus worker for newtypes
Jan 22 2019, 8:05 AM

Jan 16 2019

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

I'm not sure how WARN gets handled by the compiler, but my suspicion is that the warning is silently discarded. So the question is, what's the right thing to do here?

Jan 16 2019, 6:11 AM

Jan 10 2019

simonpj added a comment to D5286: Run typed splices in the zonker.

ok. There are some other comments you might want to address when you finalise

Jan 10 2019, 5:55 AM

Jan 8 2019

simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

Where are we on this work? I've gotten lost? If not complete, perhaps it would be helpful to summarise the state of play, with pointer to the key Notes, wiki pages, or whatever? Thansk!

Jan 8 2019, 6:51 AM
simonpj added a comment to D5471: Be pickier about unsaturated synonyms in :kind.

Bother. I did type in a comment, but somehow it got lost. Anyway: go for it!

Jan 8 2019, 5:42 AM

Jan 7 2019

simonpj added a comment to D5471: Be pickier about unsaturated synonyms in :kind.

Sorry to be so slow.

Jan 7 2019, 5:50 PM

Jan 4 2019

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

Looking good! Richard's comments are spot on.

Jan 4 2019, 5:37 AM

Dec 24 2018

simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

I don't think we need CAF-info on non-top-level Ids. Here is why.

Dec 24 2018, 5:34 AM
simonpj accepted D5472: Simplify Core output with -dsuppress-type-signatures.
Dec 24 2018, 5:08 AM
simonpj added a comment to D5471: Be pickier about unsaturated synonyms in :kind.

One suggestion. Somewhat a matter of taste I suppose.

Dec 24 2018, 2:45 AM

Dec 21 2018

simonpj added a comment to D5286: Run typed splices in the zonker.

Looking good! Some small suggestions for Matthew

Dec 21 2018, 5:25 PM
simonpj added a comment to D4777: Implement the Unlifted Newtypes proposal.

Since coerce inlines to coerce# in every phase,

Dec 21 2018, 4:25 PM
simonpj committed rGHCe9346b539a3b: Improve documention of TypeInType (authored by simonpj).
Improve documention of TypeInType
Dec 21 2018, 10:55 AM
simonpj committed rGHCa57d5c4d3e39: Fix treatment of hi-boot files and dfuns (authored by simonpj).
Fix treatment of hi-boot files and dfuns
Dec 21 2018, 10:55 AM
simonpj committed rGHC66ce7de15dbc: Tiny refactor to tcExtendRecEnv (authored by simonpj).
Tiny refactor to tcExtendRecEnv
Dec 21 2018, 10:55 AM
simonpj committed rGHC28188e06b495: Comments only (authored by simonpj).
Comments only
Dec 21 2018, 10:55 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

But don't we still need to do that for imported Ids?

Dec 21 2018, 9:15 AM
simonpj committed rGHC71e26a74da5e: Make candidateQTvs contain tyvar with zonked kinds (authored by simonpj).
Make candidateQTvs contain tyvar with zonked kinds
Dec 21 2018, 5:37 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

Why not just change vanillaCafInfo

Dec 21 2018, 5:36 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.
In D5432#150882, @osa1 wrote:

I might be missing something, but how does that prevent us from accidentally using the CafInfo from the occurrence Id?

@simonpj @simonmar what do you think about making IdInfo.cafInfo a Maybe CafInfo instead of CafInfo? That way we can leave caf info of non-imported ids Nothing (initially all ids have Nothing as caf info), and idCafInfo can panic instead of returning the default value when that happens.

We can later do the same thing for arity.

Dec 21 2018, 5:09 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

I might be missing something, but how does that prevent us from accidentally using the CafInfo from the occurrence Id?

Dec 21 2018, 4:25 AM
simonpj added inline comments to D5432: Do Caf analysis right before codegen, fix #9718.
Dec 21 2018, 3:53 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

I don't think this works - for imported Ids we need to get the CafInfo from the Id and put it in the IdLabel.

Dec 21 2018, 3:17 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

So I think this is OK, but worth a comment somewhere.

Dec 21 2018, 2:47 AM

Dec 20 2018

simonpj added inline comments to D5420: Fix #16002 by moving a validity check to the renamer.
Dec 20 2018, 3:04 PM
simonpj accepted D5420: Fix #16002 by moving a validity check to the renamer.

Lovely

Dec 20 2018, 11:45 AM
simonpj committed rGHC5f2a87935149: Refine the suppression of RuntimeRep variables (authored by simonpj).
Refine the suppression of RuntimeRep variables
Dec 20 2018, 9:02 AM
simonpj committed rGHCa1c3ad0450ba: Add solveLocalEqualities to tcHsPatSigType (authored by simonpj).
Add solveLocalEqualities to tcHsPatSigType
Dec 20 2018, 9:02 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

Why do we need CafInfos in a TypeEnv? I'd expect TypeEnv to be used for type checking, which shouldn't need CafInfos.

Dec 20 2018, 6:25 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

I think there may be more uses of idCafInfos. Simply searching in the source code shows that

Dec 20 2018, 6:20 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

PS: One other thing to check.

Dec 20 2018, 4:17 AM
simonpj added a comment to D5432: Do Caf analysis right before codegen, fix #9718.

Hang on. updateStgCafInfos puts CAF info into the IdInfo of a binder. But who looks at that info? I guess:

Dec 20 2018, 4:12 AM

Dec 18 2018

simonpj added a comment to D5408: Introduce ExpPatFrame.
I will have to explore, thank you for this interesting thought. Maybe we'll end up with something small after all.
Dec 18 2018, 4:19 PM
simonpj added a comment to D5408: Introduce ExpPatFrame.

@simonpj Can we merge this, unless you have more questions/objections?

Dec 18 2018, 11:42 AM
simonpj added inline comments to D5420: Fix #16002 by moving a validity check to the renamer.
Dec 18 2018, 11:29 AM

Dec 13 2018

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

Great, thatnks

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

This is all a great improvement.

Dec 13 2018, 5:29 AM

Dec 12 2018

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

Looks good, thanks. I suggest a minor refactoring

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

Dec 10 2018

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.

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

Thanks for doing this

Dec 10 2018, 4:44 PM
simonpj added inline comments to D5229: Visible kind application.
Dec 10 2018, 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.

Dec 10 2018, 4:12 AM

Dec 7 2018

simonpj committed rGHCf334d20e00e3: Careful tweaking to exprOkForSpeculation (authored by simonpj).
Careful tweaking to exprOkForSpeculation
Dec 7 2018, 8:59 AM
simonpj committed rGHC5b7ca03995c1: Wibble to Taming the Kind Inference Monster (authored by simonpj).
Wibble to Taming the Kind Inference Monster
Dec 7 2018, 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?

Dec 7 2018, 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:

Dec 7 2018, 3:45 AM

Dec 6 2018

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

Does this sound reasonable?

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

Let's land this!

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

Thank you!

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

Thanks for doing this.

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

Generally looking good. A few suggestions.

Dec 6 2018, 5:03 AM
simonpj added a comment to D4777: Implement the Unlifted Newtypes proposal.

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

Dec 6 2018, 2:39 AM

Dec 5 2018

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.

Dec 5 2018, 5:11 PM