Timeline


and

May 30, 2012:

9:23 PM Changeset in ghc [f90b822]imp-param-class by Iavor S. Diatchki <diatchki@…>
Implement shadowing of implicit parameters.
7:25 PM LightweightConcurrency edited by kc
(diff)
3:38 PM LightweightConcurrency edited by kc
(diff)
3:26 PM LightweightConcurrency edited by kc
(diff)
3:26 PM LightweightConcurrency edited by kc
(diff)
3:04 PM Changeset in ghc [80c3d5ad]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Improve the size-change detection heuristics in the compare tool
12:21 PM NewAxioms/DiscussionPage edited by AntC
(diff)
11:57 AM Changeset in ghc [46949a12]ghc-7.4 by Ian Lynagh <igloo@…>
MERGE: Be less aggressive about the result discount Merge of: commit 4fa3f16ddb9fa8e5d59bde5354918a39e0430a74 Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Mon May 28 17:33:42 2012 +0100 Be less aggressive about the result discount This patch fixes Trac #6099 by reducing the result discount in CoreUnfold.conSize. See Note [Constructor size and result discount] in CoreUnfold. The existing version is definitely too aggressive. Simon M found it an "unambiguous win" but it is definitely what led to the bloat. In a function with a lot of case branches, all returning a constructor, the discount could grow arbitrarily large. I also had to increase the -funfolding-creation-threshold from 450 to 750, otherwise some functions that should inline simply never get an unfolding. (The massive result discount was allow the unfolding to appear before.) The nofib results are these, picking a handful of outliers to show. Program Size Allocs Runtime Elapsed TotalMem -------------------------------------------------------------------------------- fulsom -0.5% -1.6% -2.8% -2.6% +31.1% maillist -0.2% -0.0% 0.09 0.09 -3.7% mandel -0.4% +6.6% 0.12 0.12 +0.0% nucleic2 -0.2% +18.5% 0.11 0.11 +0.0% parstof -0.4% +4.0% 0.00 0.00 +0.0% -------------------------------------------------------------------------------- Min -0.9% -1.6% -19.7% -19.7% -3.7% Max +0.3% +18.5% +2.7% +2.7% +31.1% Geometric Mean -0.3% +0.4% -3.0% -3.0% +0.2% Turns out that nucleic2 has a function Main.$wabsolute_pos = \ (ww_s4oj :: Types.Tfo) (ww1_s4oo :: Types.FloatT) (ww2_s4op :: Types.FloatT) (ww3_s4oq :: Types.FloatT) -> case ww_s4oj of _ { Types.Tfo a_a1sS b_a1sT c_a1sU d_a1sV e_a1sW f_a1sX g_a1sY h_a1sZ i_a1t0 tx_a1t1 ty_a1t2 tz_a1t3 -> (# case ww1_s4oo of _ { GHC.Types.F# x_a2sO -> case a_a1sS of _ { GHC.Types.F# y_a2sS -> case ww2_s4op of _ { GHC.Types.F# x1_X2y9 -> case d_a1sV of _ { GHC.Types.F# y1_X2yh -> case ww3_s4oq of _ { GHC.Types.F# x2_X2yj -> case g_a1sY of _ { GHC.Types.F# y2_X2yr -> case tx_a1t1 of _ { GHC.Types.F# y3_X2yn -> GHC.Types.F# (GHC.Prim.plusFloat# (GHC.Prim.plusFloat# (GHC.Prim.plusFloat# (GHC.Prim.timesFloat# x_a2sO y_a2sS) (GHC.Prim.timesFloat# x1_X2y9 y1_X2yh)) (GHC.Prim.timesFloat# x2_X2yj y2_X2yr)) y3_X2yn) } } }}}}}, <similar>, <similar> ) This is pretty big, but inlining it does get rid of that F# allocation. But we'll also get rid of it with deep CPR: Trac #2289. For now we just accept the change.
10:45 AM NewAxioms/DiscussionPage created by AntC
Added [AntC]
9:45 AM NewAxioms edited by AntC
Add hook to Discussion Page [AntC] (diff)
2:45 AM Changeset in ghc [867aa8a]imp-param-class by Iavor S. Diatchki <diatchki@…>
Switch back to the simpler `IP` class, no extra newtypes. XXX: This reveals a bug that for some reason was not showing up before. The issue has to do with shadowing of implicit parameters. For example, consider the following definition: f :: (?x :: Int) => Int f = let ?x = (5 :: Int) in ?x By the time we check the body of the let (i.e., the ?x) we have two pieces of evidence for "?x :: Int": one that is a parameter to the function, and one from the local definition. Presumably, the intention here is that the local definition should "shadow" the external one, but we need some code to do this. Note that this is not a problem for ordinary classes because even we have multiple dictionaries for the same constraint are guaranteed to be the same. My current plan is to try to solve this by adding a special case in the handling of nested implication constraints, where implicit parameters in the inner implication should shadow (i.e, replace) the outer implications (temporarily, for the duration of the implication). I believe that in the previous implementation of implicit parameters this was handled automatically, because we had a separate map for the evidence for the implicit parameters.
12:45 AM Changeset in ghc [1bcd72a1]imp-param-class by Iavor S. Diatchki <diatchki@…>
Add a note on 'getSize' about why it is OK to give implicit parameters size 0.

May 29, 2012:

11:28 PM Ticket #6134 (Incorrect ambiguity error with functional dependencies) created by diatchki
GHC reject a program as ambiguous when it is not. Consider the following …
8:37 PM Changeset in ghc [6d0df457]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove some commented out code
7:48 PM Changeset in ghc [8b4d9705]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Fix whitespace in main/TidyPgm.lhs
7:48 PM Changeset in ghc [1bf927a]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Fix whitespace in coreSyn/CorePrep.lhs
5:17 PM Ticket #5816 (static linking silently fails in ghc) closed by igloo
worksforme: No response from submitter, so closing.
5:00 PM Changeset in ghc [9ee6844e]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
hsSyn/HsTypes.lhs is already tab-free, so remove the warning kludge
4:58 PM Changeset in ghc [6c7b1e52]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
cmm/MkGraph.hs is already tab-free, so remove the warning kludge
4:48 PM Changeset in ghc [6bb5e4c6]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove a couple of old wrapper functions
12:31 PM Changeset in ghc [f7b74fe]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove some disabled code
12:30 PM Changeset in ghc [e2b6e45e]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove some more stdout/stderr uses
12:21 PM Changeset in ghc [93abcfa]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove more uses of stdout and stderr
12:09 PM Ticket #6133 (bad error message when incorrect format package db is supplied) created by gfxmonk
I built a standalone package using cabal, and then ran: […] When I …
12:05 PM Ticket #6132 (Can't use both shebang line and #ifdef declarations in the same file.) created by gfxmonk
I have an (admittedly awkward) script which can be compiled or …
7:52 AM Ticket #6131 (-fprof-auto adds cost centers to INLINE functions) created by akio
According to the Section 5.2 of User's Guide, -fprof-auto should add cost …
12:55 AM Commentary/GSoCMultipleInstances edited by phischu
(diff)
12:46 AM Changeset in ghc [78252479]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Replace printDump with a new Severity We now use log_action with severity SevDump, rather than calling printDump. This means that what happens to dumped info is now under the control of the GHC API user, rather than always going to stdout.
12:34 AM Ticket #6130 (Weak pointer to MVar is finalized, even though MVar is still accessible) created by jmillikin
I'm seeing a problem mixing MVar and Weak: even though the MVar is still …

May 28, 2012:

10:26 PM Changeset in ghc [cd700473]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove an unused import
10:25 PM Changeset in ghc [6c8cb171]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove printOutput; it's not used.
10:23 PM Changeset in ghc [4c0f04c]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Rmove printErrs It's no longer used
10:23 PM Changeset in ghc [8ea3ea2a]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Use log_action rather than printErrs in TcRnMonad We used to write directly to stderr, which couldn't be overridden.
10:22 PM Changeset in ghc [9a2aa71f]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove unused IParam module.
10:16 PM Changeset in ghc [b9fd59a]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Remove printSDoc; it's now unused
10:14 PM Changeset in ghc [c38602f]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Make traceBinIFaceReading use log_action It was printing directly to stdout
10:09 PM Changeset in ghc [a7b1d21]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Add defaultLogActionHPrintDoc to DynFlags We now use this function rather than Outputable.{printSDoc,printErrs}. Outputable is arguably a better home for the function, but putting it in DynFlags should dissuade people from using it inappropriately (in particular, nothing other than the default hooks should have stdout or stderr hardcoded). Not exporting it at all would also be an option, but exporting it with an ungainly name will make it slightly easier for people who want to send output to other Handles for some reason.
10:01 PM Changeset in ghc [ecd9b7e0]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove the IPName type, and the implicit parameter name cache.
9:47 PM Changeset in ghc [aef595bc]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove more implicit parameter left-overs.
9:24 PM Changeset in ghc [ed9cdd1]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove implicit parameters from interfaces.
6:09 PM Changeset in ghc [3d072013]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by Simon Peyton Jones <simonpj@…>
Merge branch 'master' of http://darcs.haskell.org//testsuite
6:09 PM Changeset in testsuite [fa99d27]atomicsdata-kind-syntaxghc-7.6overlapping-tyfamstc-untouchablesth-newtype-natstype-nats-simplewip/nested-cprwip/pattern-synonymswip/th-new by Simon Peyton Jones <simonpj@…>
Merge branch 'master' of http://darcs.haskell.org//testsuite
5:48 PM Changeset in ghc [407c33b]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Add a special case for the "size" of the implicit parameter class.
5:40 PM Changeset in ghc [baa1d8d]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Revert accidental merge
4:39 PM Status/SLPJ-Tickets edited by simonpj
(diff)
4:34 PM Status/SLPJ-Tickets edited by simonpj
(diff)
4:33 PM Changeset in ghc [4fa3f16]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Simon Peyton Jones <simonpj@…>
Be less aggressive about the result discount This patch fixes Trac #6099 by reducing the result discount in CoreUnfold.conSize. See Note [Constructor size and result discount] in CoreUnfold. The existing version is definitely too aggressive. Simon M found it an "unambiguous win" but it is definitely what led to the bloat. In a function with a lot of case branches, all returning a constructor, the discount could grow arbitrarily large. I also had to increase the -funfolding-creation-threshold from 450 to 750, otherwise some functions that should inline simply never get an unfolding. (The massive result discount was allow the unfolding to appear before.) The nofib results are these, picking a handful of outliers to show. Program Size Allocs Runtime Elapsed TotalMem -------------------------------------------------------------------------------- fulsom -0.5% -1.6% -2.8% -2.6% +31.1% maillist -0.2% -0.0% 0.09 0.09 -3.7% mandel -0.4% +6.6% 0.12 0.12 +0.0% nucleic2 -0.2% +18.5% 0.11 0.11 +0.0% parstof -0.4% +4.0% 0.00 0.00 +0.0% -------------------------------------------------------------------------------- Min -0.9% -1.6% -19.7% -19.7% -3.7% Max +0.3% +18.5% +2.7% +2.7% +31.1% Geometric Mean -0.3% +0.4% -3.0% -3.0% +0.2% Turns out that nucleic2 has a function Main.$wabsolute_pos = \ (ww_s4oj :: Types.Tfo) (ww1_s4oo :: Types.FloatT) (ww2_s4op :: Types.FloatT) (ww3_s4oq :: Types.FloatT) -> case ww_s4oj of _ { Types.Tfo a_a1sS b_a1sT c_a1sU d_a1sV e_a1sW f_a1sX g_a1sY h_a1sZ i_a1t0 tx_a1t1 ty_a1t2 tz_a1t3 -> (# case ww1_s4oo of _ { GHC.Types.F# x_a2sO -> case a_a1sS of _ { GHC.Types.F# y_a2sS -> case ww2_s4op of _ { GHC.Types.F# x1_X2y9 -> case d_a1sV of _ { GHC.Types.F# y1_X2yh -> case ww3_s4oq of _ { GHC.Types.F# x2_X2yj -> case g_a1sY of _ { GHC.Types.F# y2_X2yr -> case tx_a1t1 of _ { GHC.Types.F# y3_X2yn -> GHC.Types.F# (GHC.Prim.plusFloat# (GHC.Prim.plusFloat# (GHC.Prim.plusFloat# (GHC.Prim.timesFloat# x_a2sO y_a2sS) (GHC.Prim.timesFloat# x1_X2y9 y1_X2yh)) (GHC.Prim.timesFloat# x2_X2yj y2_X2yr)) y3_X2yn) } } }}}}}, <similar>, <similar> ) This is pretty big, but inlining it does get rid of that F# allocation. But we'll also get rid of it with deep CPR: Trac #2289. For now we just accept the change.
12:31 PM Ticket #6129 (Failure when using promoted data family instances, again) created by dreixel
The following code should fail (since we don't promote data families), but …
9:55 AM Changeset in ghc [8c705e99]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Add a setByteArray# primop Essentially, this is a wrapper around memset
9:54 AM Changeset in ghc [64e32f5]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by Ian Lynagh <igloo@…>
Add a test for setByteArray
9:54 AM Changeset in testsuite [536f090]atomicsdata-kind-syntaxghc-7.6overlapping-tyfamstc-untouchablesth-newtype-natstype-nats-simplewip/nested-cprwip/pattern-synonymswip/th-new by Ian Lynagh <igloo@…>
Add a test for setByteArray
6:59 AM Ticket #6128 (ghc 7.4.2 does not work with LDAP-0.6.6) created by magicloud
Sample code as below. When I ghci/runhaskell/ghc (compile) it with ghc …
3:41 AM Changeset in ghc [6df70010]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Merge branch 'imp-param-class' of ssh://darcs.haskell.org/srv/darcs/ghc into imp-param-class Conflicts: compiler/typecheck/TcRnTypes.lhs
3:34 AM Changeset in base [f849706]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove 'ipDef', we just insert the newtype coercion manually. This gives a much better error message.
3:33 AM Changeset in ghc [2d5bac97]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Report errors in definitions of implicit parameters properly. Using the "ipDef" function showed up in errors, which was confusing because it was not in the source. The only thing it did was to coerce to the `IPValue` newtype, so we just put the coercion on the value after we type check it.
2:56 AM Changeset in ghc [28dbc389]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Restore custom handling of IP for ambiguity (due to a fun-dep bug in GHC). GHC considers types like these to be ambiguous: f :: IP "c" a => String This is not quite right, and the explanation of why that happens (from module FunDeps) also seems to be not quite correct: all variables appearing in a type and not showing up in the environment should be generalized, even though they might be fully determined from nothing (as above, for example). Until we fix that problem, however, we keep the special rules for ambiguity and implicit parameters.
2:43 AM Changeset in ghc [51670df]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Fix warning.
1:32 AM Changeset in ghc [e0de72c3]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Improve the error message when using an implicit parameter.
12:51 AM Changeset in ghc [e99d0b08]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove implicit params from the inert set.
12:41 AM Changeset in ghc [8737e9a4]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Merge remote-tracking branch 'origin/master' into imp-param-clss

May 27, 2012:

11:56 PM Changeset in ghc [c3af2c5]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove IPName.
11:53 PM Changeset in base [351ee7d]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove parameter from `ipDef`
11:07 PM Changeset in ghc [ab2c0c43]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove the `IPPred` classifier and some of the special code with it. We retain the special handling for implicit parameters in module TcErrors. Also, we have a special case for implicit parameters in TcSplice, just to say that currently they are not supported.
10:31 PM Changeset in ghc [6fba1c46]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Remove `CIPCan`.
9:31 PM Changeset in ghc [09da488]silent-sc-args by Simon Peyton Jones <simonpj@…>
Add silent superclass parameters (again) Silent superclass parameters solve the problem that the superclasses of a dicionary construction can easily turn out to be (wrongly) bottom. The problem and solution are described in Note [Silent superclass arguments] in TcInstDcls I first implemented this fix (with Dimitrios) in Dec 2010, but removed it again in Jun 2011 becuase we thought it wasn't necessary any more. (The reason we thought it wasn't necessary is that we'd stopped generating derived superclass constraints for *wanteds*. But we were wrong; that didn't solve the superclass-loop problem.) So we have to re-implement it. It's not hard. Main features: * The IdDetails for a DFunId says how many silent arguments it has * A DFunUnfolding describes which dictionary args are just parameters (DFunLamArg) and which are a function to apply to the parameters (DFunPolyArg). This adds the DFunArg type to CoreSyn * Consequential changes to IfaceSyn. (Binary hi file format changes slightly.) * TcInstDcls changes to generate the right dfuns * CoreSubst.exprIsConApp_maybe handles the new DFunUnfolding The thing taht is *not* done yet is to alter the vectoriser to pass the relevant extra argument when building a PA dictionary.
8:38 PM Changeset in ghc [5712c63]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Add a coercion from the value of an implicit param. to an `IP` dictionary.
7:52 PM Changeset in ghc [1650a6e]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Fix printing of implicit parameters to put parens around them.
7:27 PM Changeset in ghc [abc8d36]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Replace uses if `IPName` with `HsIPName` defined in module `HsTypes`. This is in preparation for removing all the custom handling of implicit parameter names.
6:05 PM Changeset in ghc [a39813a]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Avoid warnings.
4:38 PM Changeset in ghc [e5191c9]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsoclate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Accept -package-conf so cabal-install works Really we ought to support all the old flags, but warn that they are deprecated.
2:38 PM Changeset in base [5fd5497]data-proxydbcsghc-7.6ghc-7.8imp-param-classtype-reasoningwindows-iocp by Ian Lynagh <igloo@…>
Update documentation of intersectBy Mention which list is the source of the elements in the resulting list.
2:38 PM Changeset in ghc [5a3489f] by Ian Lynagh <igloo@…>
Update documentation of intersectBy Mention which list is the source of the elements in the resulting list.
2:04 PM Changeset in ghc [75706a45]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by Ian Lynagh <igloo@…>
Go back to using 'const' in capi_value
2:04 PM Changeset in testsuite [9124b61]atomicsdata-kind-syntaxghc-7.6overlapping-tyfamstc-untouchablesth-newtype-natstype-nats-simplewip/nested-cprwip/pattern-synonymswip/th-new by Ian Lynagh <igloo@…>
Go back to using 'const' in capi_value
1:44 PM Ticket #6127 (Build for MIPS N32 host fails due to references to 64-bit support code) created by mtjm
Linking gives these errors: […] The patch changes the code to not use …
12:02 PM Changeset in ghc [6582871e]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsocimp-param-classlate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Test USE_MINIINTERPRETER rather than GhcUnregisterised
11:56 AM Changeset in base [d75c116]data-proxydbcsghc-7.6ghc-7.8imp-param-classtype-reasoningwindows-iocp by Ian Lynagh <igloo@…>
Fix typo in documentation of GHC.Exts.groupWith
11:56 AM Changeset in ghc [93ac54f] by Ian Lynagh <igloo@…>
Fix typo in documentation of GHC.Exts.groupWith
10:08 AM Ticket #6126 (Fix risk of dead-lock in documentation of Control.Concurrent) created by basvandijk
The …

May 26, 2012:

11:57 PM Changeset in base [632c5be]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Change the `IP` class to avoid the ambiguity of the method. We use a phantom type to link an implicit parameter name to its value. This is nice because now `?x` in the source code is simply syntactic sugar for `ipUse (IPName :: "x")`, and we type check it in exactly that way. `ipDef` is used when we process implicit parameter bindings---it's only there to add the newtype constructor.
11:51 PM Changeset in ghc [028bc9d5]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Move implicit parameter syntactic sugar to HsUtils. Also, insert the appropriate use of "ipDef" in module TcBinds.
10:45 PM Changeset in ghc [ef04014]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Display `IP "x" a` predicates as `?x :: a`. I added this to `ppr_type` instead of `pprTcApp` because I needed to match on the string literal type to extract the name. `pprTcApp` is completely polymorphic in its parameters so the matching there does not work.
10:21 PM Changeset in ghc [9c98fa6]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Desugar `?x :: t` into `IP "x" t`. Note that the `IP` constraint requires a "flexible" context/instance, which is why when -XImplictParams is on, it also turns on -XFlexibleInstances and -XFlexibleContexts
10:09 PM Changeset in ghc [b348010]imp-param-class by Iavor S. Diatchki <iavor.diatchki@…>
Simplify the type-checking of an implicit parameter. Instead of manually constructing the instantiation of the IP method, we desugar "?x" into "ipUse (IPName :: IPName "x") and type-check as usual. These functions are defined in GHC.IP like this: data IPName (name :: Symbol) = IPName ipUse :: IP x a => IPName x -> a ipUse = ...
6:04 PM Changeset in ghc [c87371b1]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsocimp-param-classlate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Specify the libdir to use when building libffi Fixes the build on platforms that default to using a directory called lib64. Reported by Gabriel Dos Reis.
5:50 PM Changeset in ghc [278bc1d]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsocimp-param-classlate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Updates for haskeline-0.7's new MonadException API.
3:38 PM Changeset in base [61409f0]data-proxydbcsghc-7.6ghc-7.8imp-param-classtype-reasoningwindows-iocp by Ian Lynagh <igloo@…>
Use expect_broken rather than expect_fail in testsuite driver
3:38 PM Changeset in ghc [0eacc7f0] by Ian Lynagh <igloo@…>
Use expect_broken rather than expect_fail in testsuite driver
10:47 AM Changeset in ghc [d0d0c36]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsocimp-param-classlate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Ian Lynagh <igloo@…>
Fix problems with getMonotonicNSec on OS X We were incorrectly multiplying by 1e9, which (a) meant we were getting values that were far too large, and (b) meant that when we casted from double to StgWord64 the result was 0, as the value was out of range. We now do all the work as StgWord64.
9:28 AM Ticket #6125 (GHCi crash) created by guest
I received the following message about a crash while running ghci. I'm …
12:31 AM Changeset in ghc [13748fc]imp-param-class by Iavor S. Diatchki <diatchki@…>
Change `let ?x = ...` to use the `IP` class. XXX: Technically, the IP bindings that define the values of the implicit parameters should be cast to a dictionary for the class (see `mkIPBox` in module `MkCore`). At the moment we don't do this, which is not quite right (although things still work because the value and the dictionary are represented in the same way).
12:26 AM Changeset in ghc [2bc826b0]imp-param-class by Iavor S. Diatchki <diatchki@…>
Change `isIPPred` to test for the new `IP` class.

May 25, 2012:

8:08 PM Changeset in ghc [0d3c52d]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by Simon Peyton Jones <simonpj@…>
Merge branch 'master' of http://darcs.haskell.org//testsuite
8:08 PM Changeset in testsuite [bd2ca97e]atomicsdata-kind-syntaxghc-7.6overlapping-tyfamstc-untouchablesth-newtype-natstype-nats-simplewip/nested-cprwip/pattern-synonymswip/th-new by Simon Peyton Jones <simonpj@…>
Merge branch 'master' of http://darcs.haskell.org//testsuite
10:53 AM Ticket #6123 (occurs check should not apply to type families) closed by simonpj
fixed
10:47 AM Changeset in ghc [535ad9d]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by Simon Peyton Jones <simonpj@…>
Test Trac #6123, and improve an error message in T2627b
10:47 AM Changeset in testsuite [4e07a12]atomicsdata-kind-syntaxghc-7.6overlapping-tyfamstc-untouchablesth-newtype-natstype-nats-simplewip/nested-cprwip/pattern-synonymswip/th-new by Simon Peyton Jones <simonpj@…>
Test Trac #6123, and improve an error message in T2627b
10:45 AM Changeset in ghc [05289c2]atomicsbetter-ho-cardinalitycardinalitycoerciblecross-compiler-alienlessdata-kind-syntaxdecision-procedureghc-7.6ghc-7.8ghc-lwc2ghc-parmake-gsocimp-param-classlate-dmdlate-lam-liftnew-demand-to-mergenewcgoverlapping-tyfamssilent-sc-argssimdtc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simplewip/Cabal-1.20wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by Simon Peyton Jones <simonpj@…>
Improve occurs-check error reporting (fix Trac #6123) We were wrongly reporting (a ~ F a) as an occurs-check error when F is a type function.
9:33 AM Changeset in ghc [20ff5054]supercompiler by Max Bolingbroke <batterseapower@…>
Start to try to make type generalisation work. SC will currently crash a lot because I'm working out the termination issues
9:32 AM Changeset in ghc [8e6ef76]supercompiler by Max Bolingbroke <batterseapower@…>
Always allow type/coercion instantiation in MSG as experiment
9:17 AM Status/SLPJ-Tickets edited by simonpj
(diff)
4:09 AM Ticket #6124 (Spurious non-exhaustive warning with GADT and newtypes) created by joeyadams
This may be related to #3927 or similar, but here's another case where the …
4:07 AM Ticket #6123 (occurs check should not apply to type families) created by dmwit
This code: […] gives this error: […] whereas I think it should be …
Note: See TracTimeline for information about the timeline view.