Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Change -dppr-user-length from a static to a dynamic flag | Ian Lynagh | 2012-06-14 | 7 | -19/+29 |
| | |||||
* | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc | Ian Lynagh | 2012-06-14 | 39 | -480/+309 |
|\ | |||||
| * | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2012-06-13 | 13 | -108/+90 |
| |\ | |||||
| * | | Simplify the implementation of Implicit Parameters | Simon Peyton Jones | 2012-06-13 | 39 | -480/+309 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch re-implements implicit parameters via a class with a functional dependency: class IP (n::Symbol) a | n -> a where ip :: a This definition is in the library module GHC.IP. Notice how it use a type-literal, so we can have constraints like IP "x" Int Now all the functional dependency machinery works right to make implicit parameters behave as they should. Much special-case processing for implicit parameters can be removed entirely. One particularly nice thing is not having a dedicated "original-name cache" for implicit parameters (the nsNames field of NameCache). But many other cases disappear: * BasicTypes.IPName * IPTyCon constructor in Tycon.TyCon * CIPCan constructor in TcRnTypes.Ct * IPPred constructor in Types.PredTree Implicit parameters remain special in a few ways: * Special syntax. Eg the constraint (IP "x" Int) is parsed and printed as (?x::Int). And we still have local bindings for implicit parameters, and occurrences thereof. * A implicit-parameter binding (let ?x = True in e) amounts to a local instance declaration, which we have not had before. It just generates an implication contraint (easy), but when going under it we must purge any existing bindings for ?x in the inert set. See Note [Shadowing of Implicit Parameters] in TcSimplify * TcMType.sizePred classifies implicit parameter constraints as size-0, as before the change There are accompanying patches to libraries 'base' and 'haddock' All the work was done by Iavor Diatchki | ||||
* | | | Rename Coverage.dflags to Coverage.tte_dflags | Ian Lynagh | 2012-06-14 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | The record field was confusingly using the same name that the value normally uses. | ||||
* | | | Fix whitespace in deSugar/Coverage.lhs | Ian Lynagh | 2012-06-14 | 1 | -231/+224 |
| | | | |||||
* | | | Stop exporting, and stop using, some deprecated functions | Ian Lynagh | 2012-06-13 | 3 | -13/+6 |
| | | | |||||
* | | | Use 'ppr' rather than 'pprCLabel platform' | Ian Lynagh | 2012-06-13 | 1 | -19/+19 |
| | | | | | | | | | | | | Means we can stop passing platform around as much. | ||||
* | | | Remove more redundant Platform arguments | Ian Lynagh | 2012-06-13 | 1 | -25/+24 |
| | | | |||||
* | | | Remove more redundant Platform arguments | Ian Lynagh | 2012-06-13 | 3 | -12/+9 |
| | | | |||||
* | | | Remove some more Platform arguments | Ian Lynagh | 2012-06-13 | 4 | -16/+9 |
| |/ |/| | |||||
* | | Remove more unused Platform arguments | Ian Lynagh | 2012-06-13 | 4 | -12/+9 |
| | | |||||
* | | Remove some unnecessary platform arguments | Ian Lynagh | 2012-06-13 | 9 | -96/+81 |
|/ | |||||
* | Add missing file | Ian Lynagh | 2012-06-13 | 1 | -0/+7 |
| | |||||
* | Follow spelling fixes | Ian Lynagh | 2012-06-13 | 1 | -5/+5 |
| | |||||
* | Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc | Ian Lynagh | 2012-06-13 | 14 | -206/+298 |
|\ | | | | | | | | | Fix conflicts in: compiler/main/DynFlags.hs | ||||
| * | tweak documentation of mdo/rec | Ross Paterson | 2012-06-12 | 1 | -18/+25 |
| | | |||||
| * | Report unusable UNPACK warnings even when -O is off (#3966) | Simon Marlow | 2012-06-12 | 1 | -3/+8 |
| | | |||||
| * | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2012-06-12 | 5 | -37/+38 |
| |\ | |||||
| | * | fix spelling: "infered" -> "inferred" | Simon Marlow | 2012-06-11 | 5 | -37/+38 |
| | | | |||||
| * | | Revive 'mdo' expressions, per discussion in Trac #4148 | Simon Peyton Jones | 2012-06-12 | 6 | -137/+178 |
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - mdo expressions are enabled by RecursiveDo pragma - mdo expressions perform full segmentation - 'rec' groups inside 'do' are changed so they do *not* perform any segmentation. - Both 'mdo' and 'rec' are enabled by 'RecursiveDo' 'DoRec' is deprecated in favour of 'RecursiveDo' (The 'rec' keyword is also enabled by 'Arrows', as now.) Thanks to Levent for doing all the work | ||||
| * | Attempt to fix the bytecode generator for unboxed tuples, given the latest ↵ | Max Bolingbroke | 2012-06-09 | 2 | -34/+72 |
| | | | | | | | | changes to unboxed tuple support | ||||
| * | Don't use 64-bit support functions on MIPS N32. | Michał Masłowski | 2012-06-09 | 1 | -1/+1 |
| | | | | | | | | | | It uses native 64-bit instructions instead of these, despite having 32-bit pointers. | ||||
* | | Remove lots of commented out 'in' keywords | Ian Lynagh | 2012-06-13 | 6 | -43/+0 |
| | | |||||
* | | Tweak the way UsageErrors are constructed | Ian Lynagh | 2012-06-13 | 1 | -1/+2 |
| | | | | | | | | | | Using 'unlines' meant that we get a trailing newline, which gave different output. | ||||
* | | Remove PlatformOutputable | Ian Lynagh | 2012-06-13 | 33 | -328/+285 |
| | | | | | | | | | | We can now get the Platform from the DynFlags inside an SDoc, so we no longer need to pass the Platform in. | ||||
* | | Whitespace only in nativeGen/RegAlloc/Graph/Main.hs | Ian Lynagh | 2012-06-13 | 1 | -306/+299 |
| | | |||||
* | | Make tracingDynFlags slightly more defined | Ian Lynagh | 2012-06-12 | 3 | -11/+18 |
| | | | | | | | | | | In particular, fields like 'flags' are now set to the default, so at least they will work to some extent. | ||||
* | | Pass DynFlags down to pprDefiniteTrace | Ian Lynagh | 2012-06-12 | 2 | -6/+6 |
| | | |||||
* | | Add DynFlags to the SDoc state | Ian Lynagh | 2012-06-12 | 4 | -40/+42 |
| | | |||||
* | | Use SDoc rather than Doc in the native gens | Ian Lynagh | 2012-06-12 | 9 | -279/+236 |
| | | | | | | | | This avoid lots of converting back and forth between the two types. | ||||
* | | Use SDoc rather than Doc in LLVM | Ian Lynagh | 2012-06-12 | 6 | -74/+72 |
| | | | | | | | | | | In particular, this makes life simpler when we want to use a general GHC SDoc in the middle of some LLVM. | ||||
* | | Pass DynFlags down to pprDebugAndThen | Ian Lynagh | 2012-06-12 | 2 | -10/+10 |
| | | |||||
* | | Remove unused showsPrecSDoc | Ian Lynagh | 2012-06-12 | 1 | -4/+1 |
| | | |||||
* | | Pass DynFlags down to showSDocDumpOneLine | Ian Lynagh | 2012-06-12 | 2 | -10/+14 |
| | | |||||
* | | Pass DynFlags down to showSDocDebug | Ian Lynagh | 2012-06-12 | 7 | -74/+83 |
| | | |||||
* | | Pass DynFlags down to showSDoc | Ian Lynagh | 2012-06-12 | 48 | -320/+434 |
| | | |||||
* | | Remove unused showRdrName | Ian Lynagh | 2012-06-12 | 1 | -6/+0 |
| | | | | | | | | It was equivalent to showPpr anyway. | ||||
* | | GhcApiError now contains a String, not an SDoc | Ian Lynagh | 2012-06-12 | 2 | -7/+10 |
| | | |||||
* | | Use showPpr in a few more places | Ian Lynagh | 2012-06-12 | 2 | -3/+4 |
| | | |||||
* | | Avoid a needless trip via SDoc when showing a Unique | Ian Lynagh | 2012-06-12 | 1 | -3/+1 |
| | | |||||
* | | Store short error message text as a string | Ian Lynagh | 2012-06-12 | 1 | -3/+5 |
| | | | | | | | | | | | | | | We also store the Doc still, although we don't have to; we could just convert back again, at the cost of some inefficiency. But we do need the String, so that we can print it in the Show instance. | ||||
* | | Pass DynFlags down to mk_err_msg | Ian Lynagh | 2012-06-12 | 13 | -103/+116 |
| | | |||||
* | | Remove an unused Show instance | Ian Lynagh | 2012-06-12 | 1 | -3/+0 |
| | | |||||
* | | Don't needlessly go via SDoc in mkAutoCC | Ian Lynagh | 2012-06-12 | 1 | -3/+3 |
| | | |||||
* | | Redefine pprPanicFastInt in terms of panicDoc | Ian Lynagh | 2012-06-12 | 2 | -5/+5 |
| | | |||||
* | | Pass DynFlags down to showPpr | Ian Lynagh | 2012-06-12 | 7 | -31/+40 |
| | | |||||
* | | Remove the Show Var instance | Ian Lynagh | 2012-06-12 | 2 | -5/+2 |
| | | |||||
* | | Provide a way of 'show'int a Unique without going via SDoc | Ian Lynagh | 2012-06-12 | 1 | -20/+13 |
| | | |||||
* | | Remove some redundant Show instances | Ian Lynagh | 2012-06-12 | 7 | -21/+0 |
| | |