simonpj (Simon Peyton Jones)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Jun 9 2014, 9:34 AM (154 w, 2 d)
Availability
Available

Recent Activity

Today

simonpj committed rGHCc9977385dca9: Pattern synonyms and higher rank types (authored by simonpj).
Pattern synonyms and higher rank types
Thu, May 25, 6:02 AM
simonpj committed rGHC10131947b212: Comments only (authored by simonpj).
Comments only
Thu, May 25, 6:02 AM

Yesterday

simonpj accepted D3603: Faster checkFamInstConsistency.

I'm sure this is fine, but I don't yet understand the Note. I get lost right after "The key part is how to implement C U df(D_i)." I don't understand the diagram; and I don't understand the connection between the diagram and the code.

Wed, May 24, 4:47 PM

Mon, May 22

simonpj accepted D3602: Testcase for type family consistency checks.

Great! Tests are good

Mon, May 22, 11:01 AM

Fri, May 19

simonpj added a comment to D3566: WIP: Make SpecConstr work across modules.

Matthew, I have not done a detailed review, but it looks as if you are following the pattern in Specialise.hs. Can you write an overview Note explaining the goal, with an example, and pointing to where things happen.

Fri, May 19, 11:54 AM
simonpj committed rGHC2501fb70691f: Fix scoping of data cons during kind checking (authored by simonpj).
Fix scoping of data cons during kind checking
Fri, May 19, 9:33 AM
simonpj committed rGHC8fe37a022251: Account for IfUnpackCo in freeNamesIfDecl (authored by simonpj).
Account for IfUnpackCo in freeNamesIfDecl
Fri, May 19, 6:24 AM
simonpj committed rGHCd06cb9633ec8: Refactor freeNamesIfDecl (authored by simonpj).
Refactor freeNamesIfDecl
Fri, May 19, 6:24 AM
simonpj committed rGHC875159cc89d7: Comments and white space only (authored by simonpj).
Comments and white space only
Fri, May 19, 6:24 AM
simonpj committed rGHC433b80dec1cf: Ensure that insolubles are fully rewritten (authored by simonpj).
Ensure that insolubles are fully rewritten
Fri, May 19, 5:13 AM

Wed, May 17

simonpj committed rGHCd6461f9684f6: Handle type-lets better (authored by simonpj).
Handle type-lets better
Wed, May 17, 7:48 AM

Tue, May 16

simonpj committed rGHCcec7d580c2c0: Fix the pure unifier (authored by simonpj).
Fix the pure unifier
Tue, May 16, 9:47 AM
simonpj committed rGHC2c21d74cb177: Kill off unused IfaceType.eqIfaceType (authored by simonpj).
Kill off unused IfaceType.eqIfaceType
Tue, May 16, 9:47 AM
simonpj committed rGHCfea9a7570dd6: Tiny refactor (authored by simonpj).
Tiny refactor
Tue, May 16, 9:47 AM

Thu, May 11

simonpj added a comment to D3352: Clean up opt and llc.

I am massively ignorant of the details here, but what Kavon says makes sense to me. As I understand it, I'd be anxious about relying on clang as the sole route.

Thu, May 11, 3:59 PM

Tue, May 9

simonpj committed rGHC43a31683acbe: Reset cc_pend_sc flag in dropDerivedCt (authored by simonpj).
Reset cc_pend_sc flag in dropDerivedCt
Tue, May 9, 4:45 AM
simonpj committed rGHCcb5ca5f39c2a: Make CallInfo into a data type with fields (authored by simonpj).
Make CallInfo into a data type with fields
Tue, May 9, 4:45 AM
simonpj committed rGHC6f26fe79c195: Add regression test for Trac #13659 (authored by simonpj).
Add regression test for Trac #13659
Tue, May 9, 4:45 AM
simonpj committed rGHC549c8b33da25: Don't warn about variable-free strict pattern bindings (authored by simonpj).
Don't warn about variable-free strict pattern bindings
Tue, May 9, 4:45 AM
simonpj committed rGHCd46a5102e091: Use mkSymCo in OptCoercion.wrapSym (authored by simonpj).
Use mkSymCo in OptCoercion.wrapSym
Tue, May 9, 4:45 AM
simonpj added inline comments to D3550: Automatically add SCCs to INLINABLE bindings.
Tue, May 9, 3:06 AM

Mon, May 8

simonpj accepted D3545: OptCoercion: Ensure that TyConApps match in arity.

Worth commenting as I suggest above

Mon, May 8, 2:52 AM

Thu, May 4

simonpj committed rGHC2a0970014973: Comments only, about Typeable/TypeRep/KindRep (authored by simonpj).
Comments only, about Typeable/TypeRep/KindRep
Thu, May 4, 11:27 AM
simonpj committed rGHC2a33f172cc77: Remove unused import (authored by simonpj).
Remove unused import
Thu, May 4, 11:27 AM
simonpj committed rGHCe77019767fe5: Deal with exceptions in dsWhenNoErrs (authored by simonpj).
Deal with exceptions in dsWhenNoErrs
Thu, May 4, 11:27 AM
simonpj committed rGHC783dfa744b14: Teach optCoecion about FunCo (authored by simonpj).
Teach optCoecion about FunCo
Thu, May 4, 8:36 AM

Wed, May 3

simonpj accepted D3524: CoreTidy: Don't seq unfoldings.
Wed, May 3, 2:51 AM
simonpj accepted D3525: [WIP] Fix #13594.
Wed, May 3, 2:49 AM

Tue, May 2

simonpj committed rGHC9e47dc451788: Fix loss-of-SpecConstr bug (authored by simonpj).
Fix loss-of-SpecConstr bug
Tue, May 2, 6:45 AM
simonpj accepted D3515: Implement sequential name lookup properly.

Minor suggestions

Tue, May 2, 6:37 AM
simonpj committed rGHCff239787f717: Fix a small Float-Out bug (authored by simonpj).
Fix a small Float-Out bug
Tue, May 2, 4:14 AM
simonpj committed rGHC71037b61597d: Join-point refactoring (authored by simonpj).
Join-point refactoring
Tue, May 2, 4:14 AM
simonpj committed rGHCc46a600f320b: Improve SpecConstr when there are many opportunities (authored by simonpj).
Improve SpecConstr when there are many opportunities
Tue, May 2, 4:14 AM

Mon, May 1

simonpj requested changes to D3424: Fix #13333 by zonking at a key point in flattener.

Just one remaining thing that I think is unnecessary.

Mon, May 1, 3:49 PM

Fri, Apr 28

simonpj accepted D3510: CSE: Fix cut and paste error.

I wonder if this has any perf impact on nofib?

Fri, Apr 28, 1:14 PM
simonpj added a comment to D3510: CSE: Fix cut and paste error.

Wow! How long has this bug been here? How did you come across it?

Fri, Apr 28, 1:14 PM
simonpj committed rGHC29d88ee173bc: Be a bit more eager to inline in a strict context (authored by simonpj).
Be a bit more eager to inline in a strict context
Fri, Apr 28, 6:05 AM
simonpj committed rGHCa1b753e8b147: Cure exponential behaviour in the simplifier (authored by simonpj).
Cure exponential behaviour in the simplifier
Fri, Apr 28, 6:05 AM
simonpj committed rGHC25754c83c9be: Eta expansion and join points (authored by simonpj).
Eta expansion and join points
Fri, Apr 28, 6:04 AM
simonpj committed rGHC03ec7927f050: Comments only (authored by simonpj).
Comments only
Fri, Apr 28, 6:04 AM
simonpj committed rGHC4d5ab1f89ab4: Comments only (authored by simonpj).
Comments only
Fri, Apr 28, 6:04 AM
simonpj committed rGHC6c2d9175c70d: A bit more tcTrace (authored by simonpj).
A bit more tcTrace
Fri, Apr 28, 6:04 AM
simonpj committed rGHC7f6674d62e76: Comments and tiny refactoring (authored by simonpj).
Comments and tiny refactoring
Fri, Apr 28, 6:04 AM

Apr 25 2017

simonpj requested changes to D3424: Fix #13333 by zonking at a key point in flattener.

Basically this looks good, but several things to think about.

Apr 25 2017, 4:22 AM
simonpj added a comment to D3424: Fix #13333 by zonking at a key point in flattener.

This shows up in flatten_one (AppTy..:

flatten_one (AppTy ty1 ty2)
  = do { (xi1,co1) <- flatten_one ty1
       ; eq_rel <- getEqRel
       ; case (eq_rel, nextRole xi1) of
           (NomEq,  _)                -> flatten_rhs xi1 co1 NomEq
           (ReprEq, Nominal)          -> flatten_rhs xi1 co1 NomEq
           (ReprEq, Representational) -> flatten_rhs xi1 co1 ReprEq
           (ReprEq, Phantom)          ->
             do { ty2 <- liftTcS $ zonkTcType ty2
                ; return ( mkAppTy xi1 ty2
                         , mkAppCo co1 (mkNomReflCo ty2)) } }

What is that zonkTcType (with no Note!) doing?

Apr 25 2017, 3:59 AM

Apr 24 2017

simonpj accepted D3489: Add regression test for #13603.

Let's land this please!

Apr 24 2017, 3:42 AM

Apr 20 2017

simonpj accepted D3472: Document the kind generalization behavior observed in #13555.

I've attempted minor improvements, still not great. Tricky stuff.

Apr 20 2017, 5:59 AM

Apr 18 2017

simonpj accepted D3467: Simplify StgCases when all alts refer to the case binder.

Is there any perf effect?

Apr 18 2017, 4:51 PM

Apr 13 2017

simonpj committed rGHC87078efd7d51: Comments only in Type.isPredTy (authored by simonpj).
Comments only in Type.isPredTy
Apr 13 2017, 3:28 AM
simonpj committed rGHCfbb27d77b9c7: Remove dead quantifyTyVars (authored by simonpj).
Remove dead quantifyTyVars
Apr 13 2017, 3:28 AM
simonpj committed rGHC0ae72512255b: Yet more work on TcSimplify.simplifyInfer (authored by simonpj).
Yet more work on TcSimplify.simplifyInfer
Apr 13 2017, 3:28 AM
simonpj committed rGHC037c2495d83b: Fix a couple of user-manual typos (authored by simonpj).
Fix a couple of user-manual typos
Apr 13 2017, 3:28 AM

Apr 12 2017

simonpj committed rGHC2d96edd01d3a: Use -G1 for reliable peak mem usage (authored by simonpj).
Use -G1 for reliable peak mem usage
Apr 12 2017, 10:18 AM
simonpj committed rGHC8d8d094d45fc: Make let and app consistent in exprIsCheapX (authored by simonpj).
Make let and app consistent in exprIsCheapX
Apr 12 2017, 10:18 AM
simonpj committed rGHCebb36b2c903a: Add Outputable instance for ArityType (authored by simonpj).
Add Outputable instance for ArityType
Apr 12 2017, 10:18 AM
simonpj committed rGHC8346334ef5ef: Fix another literal-string buglet (authored by simonpj).
Fix another literal-string buglet
Apr 12 2017, 10:18 AM
simonpj committed rGHCb5b7d820afd8: Improve demand analysis for join points (authored by simonpj).
Improve demand analysis for join points
Apr 12 2017, 10:18 AM
simonpj committed rGHC751996e90a96: Kill off complications in CoreFVs (authored by simonpj).
Kill off complications in CoreFVs
Apr 12 2017, 10:17 AM

Apr 10 2017

simonpj accepted D3437: StgCse: Do not re-use trivial case scrutinees.
Apr 10 2017, 4:25 AM

Apr 7 2017

simonpj committed rGHCf0d98fc6cdde: Do Note [Improving seq] always (authored by simonpj).
Do Note [Improving seq] always
Apr 7 2017, 10:24 AM
simonpj added a comment to D3424: Fix #13333 by zonking at a key point in flattener.

TcInteract.solveGivens puts the givens in the inert set, one by one, flattening (ie zonking) as it goes. That established the invariant. It's fine for an *implication* to have un-zonked givens; the invariant applies only when adding them to the inert set.

Apr 7 2017, 10:08 AM
simonpj accepted D3431: Compute InScopeSet in substInteractiveContext.

Yes, looks right. Worth pointing out (in a comment) that variables in the interactive context *can* mention free type variables because of the runtime debugger. (Otherwise you'd expect all variables bound in the interactive context to be closed.) Indeed all uses of substInteractiveContext are in connection with the debugger.

Apr 7 2017, 5:49 AM

Apr 6 2017

simonpj committed rGHC65b185d4886b: Be less aggressive about fragile-context warrnings (authored by simonpj).
Be less aggressive about fragile-context warrnings
Apr 6 2017, 6:46 AM
simonpj committed rGHC2ab7f626b94a: Comments only (authored by simonpj).
Comments only
Apr 6 2017, 6:46 AM
simonpj committed rGHCbac95f9de5bd: Yet another attempt at inferring the right quantification (authored by simonpj).
Yet another attempt at inferring the right quantification
Apr 6 2017, 6:46 AM
simonpj committed rGHCc90f8334fa99: Comments and eta expand only (authored by simonpj).
Comments and eta expand only
Apr 6 2017, 6:46 AM
simonpj committed rGHC2f9f1f86849e: Add a missing addDeferredBinding (authored by simonpj).
Add a missing addDeferredBinding
Apr 6 2017, 6:45 AM
simonpj committed rGHC48daaaf0bba2: Don't report fundep wanted/wanted errors (authored by simonpj).
Don't report fundep wanted/wanted errors
Apr 6 2017, 6:45 AM
simonpj committed rGHCdd228b6eae18: Add comments on DmdAnal space leak fix (authored by simonpj).
Add comments on DmdAnal space leak fix
Apr 6 2017, 6:45 AM
simonpj added a comment to D3424: Fix #13333 by zonking at a key point in flattener.

Wait! I think *any* zonking in the flattener or constraint solver is deeply suspicious. Why on earth is it needed?

Apr 6 2017, 2:43 AM

Mar 31 2017

simonpj committed rGHC29645274a3c9: Refactor simplExpr (Type ty) (authored by simonpj).
Refactor simplExpr (Type ty)
Mar 31 2017, 11:53 AM

Mar 29 2017

simonpj committed rGHCf88ac374c5cb: Fix ASSERT failure in TcErrors (authored by simonpj).
Fix ASSERT failure in TcErrors
Mar 29 2017, 8:59 AM
simonpj committed rGHC60d338f50992: Add a couple of HasDebugCallStack contexts (authored by simonpj).
Add a couple of HasDebugCallStack contexts
Mar 29 2017, 8:59 AM
simonpj committed rGHC8674883c1374: Allow unbound Refl binders in a RULE (authored by simonpj).
Allow unbound Refl binders in a RULE
Mar 29 2017, 8:59 AM

Mar 28 2017

simonpj committed rGHCeb6ccb7cd875: Test Trac #13490 (authored by simonpj).
Test Trac #13490
Mar 28 2017, 2:50 AM
simonpj committed rGHCb5c81203d047: Complete the fix for #13441 (pattern synonyms) (authored by simonpj).
Complete the fix for #13441 (pattern synonyms)
Mar 28 2017, 2:50 AM

Mar 27 2017

simonpj updated the Trac tickets for D3316: Clean up coreView/tcView..
Mar 27 2017, 4:22 PM
simonpj committed rGHCde4723fd6d97: Remove utterly bogus code (authored by simonpj).
Remove utterly bogus code
Mar 27 2017, 10:32 AM
simonpj committed rGHCfeca929b8f7a: Fix 'unsolved constraints' in GHCi (authored by simonpj).
Fix 'unsolved constraints' in GHCi
Mar 27 2017, 10:32 AM
simonpj committed rGHCe0ad55f894a8: Fix error-message suppress on given equalities (authored by simonpj).
Fix error-message suppress on given equalities
Mar 27 2017, 10:32 AM
simonpj committed rGHC7c7479d04711: Fix explicitly-bidirectional pattern synonyms (authored by simonpj).
Fix explicitly-bidirectional pattern synonyms
Mar 27 2017, 10:32 AM
simonpj committed rGHC7e1c492de158: Typechecker comments and debug tracing only (authored by simonpj).
Typechecker comments and debug tracing only
Mar 27 2017, 10:32 AM
simonpj committed rGHCaf33073c77e4: Eliminate a user manual warning (authored by simonpj).
Eliminate a user manual warning
Mar 27 2017, 10:32 AM
simonpj committed rGHC1e06d8b8f2ae: Simplify the logic for tc_hs_sig_type (authored by simonpj).
Simplify the logic for tc_hs_sig_type
Mar 27 2017, 10:32 AM
simonpj added a comment to D3377: Only use locally bound variables in pattern synonym declarations.

Let's rebase and commit asap -- fixes a good bug

Mar 27 2017, 4:54 AM

Mar 23 2017

simonpj accepted D3377: Only use locally bound variables in pattern synonym declarations.

Exactly right! A few commenting/refactoring suggestions but you have nailed the cause

Mar 23 2017, 9:26 AM

Mar 17 2017

simonpj committed rGHCa7dbafe92922: No join-point from an INLINE function with wrong arity (authored by simonpj).
No join-point from an INLINE function with wrong arity
Mar 17 2017, 12:47 PM
simonpj committed rGHC567bc6bd1948: Improve Lint a little (authored by simonpj).
Improve Lint a little
Mar 17 2017, 12:47 PM

Mar 16 2017

simonpj accepted D3337: Make standalone DeriveAnyClass as permissive as empty instances.

In general I'm ok with this though it seems a bit heavyweight.

Mar 16 2017, 9:13 AM

Mar 14 2017

simonpj committed rGHC82b40598ea7a: Fix CaseIdentity optimisation AGAIN (authored by simonpj).
Fix CaseIdentity optimisation AGAIN
Mar 14 2017, 8:55 AM

Mar 10 2017

simonpj accepted D3315: Fix #13337..
Mar 10 2017, 10:51 AM
simonpj committed rGHC2209d5e644b2: Comments only (authored by simonpj).
Comments only
Mar 10 2017, 10:06 AM
simonpj committed rGHC4eeb327369b6: Drop redundant import (authored by simonpj).
Drop redundant import
Mar 10 2017, 10:06 AM
simonpj committed rGHC2d3cb34a603e: Define TcSimplify.simplifyTopImplic and use it (authored by simonpj).
Define TcSimplify.simplifyTopImplic and use it
Mar 10 2017, 10:06 AM
simonpj committed rGHCaf6ed4a62c77: Fix constraint simplification in rules (authored by simonpj).
Fix constraint simplification in rules
Mar 10 2017, 10:06 AM
simonpj committed rGHC48d1866e9051: Improve error messages for skolems (authored by simonpj).
Improve error messages for skolems
Mar 10 2017, 10:06 AM
simonpj committed rGHC7e96526ac2ef: Fix TcSimplify.decideQuantification for kind variables (authored by simonpj).
Fix TcSimplify.decideQuantification for kind variables
Mar 10 2017, 10:06 AM
simonpj committed rGHCbc0f3abd0914: Deal with JoinIds before void types (authored by simonpj).
Deal with JoinIds before void types
Mar 10 2017, 10:06 AM
simonpj committed rGHC900cfdc2700a: Do not generate a data-con wrapper for !Int# (authored by simonpj).
Do not generate a data-con wrapper for !Int#
Mar 10 2017, 10:06 AM
simonpj added inline comments to D3316: Clean up coreView/tcView..
Mar 10 2017, 8:29 AM