- 31 Jul, 2008 1 commit
-
-
batterseapower authored
-
- 21 Jul, 2008 1 commit
-
-
Ian Lynagh authored
-
- 20 Jul, 2008 1 commit
-
-
Ian Lynagh authored
-
- 16 Jun, 2008 1 commit
-
-
Ian Lynagh authored
* Allow -ffoo flags to be deprecated * Mark some -ffoo flags as deprecated * Avoid using deprecated flags in error messages, in the build system, etc * Add a flag to en/disable the deprecated flag warning
-
- 28 May, 2008 1 commit
-
-
Simon Marlow authored
This is a much more robust way to do recompilation checking. The idea is to create a fingerprint of the ABI of an interface, and track dependencies by recording the fingerprints of ABIs that a module depends on. If any of those ABIs have changed, then we need to recompile. In bug #1372 we weren't recording dependencies on package modules, this patch fixes that by recording fingerprints of package modules that we depend on. Within a package there is still fine-grained recompilation avoidance as before. We currently use MD5 for fingerprints, being a good compromise between efficiency and security. We're not worried about attackers, but we are worried about accidental collisions. All the MD5 sums do make interface files a bit bigger, but compile times on the whole are about the same as before. Recompilation avoidance should be a bit more accurate than in 6.8.2 due to fixing #1959, especially when using -O.
-
- 20 May, 2008 1 commit
-
-
simonpj@microsoft.com authored
-
- 03 May, 2008 1 commit
-
-
Ian Lynagh authored
-
- 12 Apr, 2008 1 commit
-
-
Ian Lynagh authored
-
- 10 Apr, 2008 1 commit
-
-
simonpj@microsoft.com authored
-
- 04 Apr, 2008 1 commit
-
-
simonpj@microsoft.com authored
This patch fixes a rather tiresome issue, namely the fact that a TH declaration quote *shadows* bindings in outer scopes: f g = [d| f :: Int f = g g :: Int g = 4 |] Here, the outer bindings for 'f' (top-level) and 'g' (local) are shadowed, and the inner bindings for f,g should not be reported as duplicates. (Remember they are top-level bindings.) The actual bug was that we'd forgotten to delete 'g' from the LocalRdrEnv, so the type sig for 'g' was binding to the outer 'g' not the inner one.
-
- 29 Mar, 2008 1 commit
-
-
Ian Lynagh authored
Modules that need it import it themselves instead.
-
- 07 Feb, 2008 1 commit
-
-
Ian Lynagh authored
These fix these failures: break008(ghci) break009(ghci) break026(ghci) ghci.prog009(ghci) ghci025(ghci) print007(ghci) prog001(ghci) prog002(ghci) prog003(ghci) at least some of which have this symptom: Exception: expectJust prune
-
- 17 Jan, 2008 3 commits
- 24 Oct, 2007 1 commit
-
-
Ian Lynagh authored
-
- 10 Oct, 2007 1 commit
-
-
Dan Licata authored
This patch implements three new features: * view patterns (syntax: expression -> pat in a pattern) * working versions of record wildcards and record puns See the manual for detailed descriptions. Other minor observable changes: * There is a check prohibiting local fixity declarations when the variable being fixed is not defined in the same let * The warn-unused-binds option now reports warnings for do and mdo stmts Implementation notes: * The pattern renamer is now in its own module, RnPat, and the implementation is now in a CPS style so that the correct context is delivered to pattern expressions. * These features required a fairly major upheaval to the renamer. Whereas the old version used to collect up all the bindings from a let (or top-level, or recursive do statement, ...) and put them into scope before renaming anything, the new version does the collection as it renames. This allows us to do the right thing with record wildcard patterns (which need to be expanded to see what names should be collected), and it allows us to implement the desired semantics for view patterns in lets. This change had a bunch of domino effects brought on by fiddling with the top-level renaming. * Prior to this patch, there was a tricky bug in mkRecordSelId in HEAD, which did not maintain the invariant necessary for loadDecl. See note [Tricky iface loop] for details.
-
- 06 Sep, 2007 1 commit
-
-
Simon Marlow authored
This turned out to be a black hole, however we believe we now have a plan that does the right thing and shouldn't need to change again. Error messages will only ever refer to a name in an unambiguous way, falling back to <package>:<module>.<name> if no unambiguous shorter variant can be found. See HscTypes.mkPrintUnqualified for the details. Earlier hacks to work around this problem have been removed (TcSimplify).
-
- 04 Sep, 2007 1 commit
-
-
Ian Lynagh authored
-
- 03 Sep, 2007 1 commit
-
-
Ian Lynagh authored
Older GHCs can't parse OPTIONS_GHC. This also changes the URL referenced for the -w options from WorkingConventions#Warnings to CodingStyle#Warnings for the compiler modules.
-
- 01 Sep, 2007 1 commit
-
-
Ian Lynagh authored
-
- 26 Aug, 2007 1 commit
-
-
Ian Lynagh authored
-
- 07 Aug, 2007 2 commits
-
-
rl@cse.unsw.edu.au authored
We add the following declaration to all vectorised modules: import qualified <NDP interface module> as :NDP This allows us to refer to NDP stuff by RdrName later on but does not expose NDP names to the user's code.
-
rl@cse.unsw.edu.au authored
We add the following declaration to all vectorised modules: import qualified <NDP interface module> as :NDP This allows us to refer to NDP stuff by RdrName later on but does not expose NDP names to the user's code.
-
- 17 Jul, 2007 1 commit
-
-
andy@galois.com authored
Now, if a single module *anywhere* on the module tree is built with -fhpc, the binary will enable reading/writing of <bin>.tix. Previously, you needed to compile Main to allow coverage to operate. This changes the file format for .hi files; you will need to recompile every library.
-
- 19 Jun, 2007 1 commit
-
-
simonpj@microsoft.com authored
-
- 14 May, 2007 1 commit
-
-
chak@cse.unsw.edu.au. authored
. This change tracks our current terminology. It'll break all programs using the old option, sorry. But this has only been an experimental feature in the HEAD so far.
-
- 11 May, 2007 1 commit
-
-
Isaac Dupree authored
GHC already determines all the implicit (Prelude) imports, so we just need to check whether there are any of those, for each module being compiled.
-
- 11 Apr, 2007 1 commit
-
-
Simon Marlow authored
This patch cleans up the GHC API, and adds some functionality: we can now compile to object code inside GHCi. Previously we had: data GhcMode = BatchCompile | Interactive | OneShot | JustTypecheck | MkDepend data HscTarget = HscC | HscAsm | HscJava | HscInterpreted | HscNothing There was redundancy here; if GhcMode is Interactive, then only HscInterpreted makes sense, and JustTypecheck required HscNothing. Now we have: data GhcMode = CompManager -- ^ --make, GHCi, etc. | OneShot -- ^ ghc -c Foo.hs | MkDepend -- ^ ghc -M, see Finder for why we need this and HscTarget remains as before. Previously GhcLink looked like this: data GhcLink = NoLink | StaticLink Now we have: data GhcLink = NoLink | LinkBinary | LinkInMemory The idea being that you can have an HscTarget of HscAsm (for example) and still link in memory. There are two new flags: -fobject-code selects object code as the target (selects either -fasm or -fvia-C, whichever is the default) This can be usd with ':set' in GHCi, or on the command line. -fbyte-code sets byte-code as the target. Only works in GHCi. One day maybe this could save the byte code in a file when used outside GHCi. (names chosen for consistency with -fno-code). Changes to the GHC API: newSession no longer takes the GhcMode argument. The GhcMode defaults to CompManager, which is usually what you want. To do JustTypecheck now, just set hscTarget to HscNothing.
-
- 01 Apr, 2007 1 commit
-
-
Ian Lynagh authored
-
- 16 Mar, 2007 1 commit
-
-
simonpj@microsoft.com authored
This patch refactors TcRnDriver to make the top-level structure easier to understand. The change was driven by Trac #924, and this patch fixes that bug. When comparing a module against its hs-boot file, we must ensure that the module exports everything that the hs-boot file exports.
-
- 21 Feb, 2007 1 commit
-
-
simonpj@microsoft.com authored
Conal Eliott (Trac #1145) exposed a nasty flaw in the way in which orphan instances are computed, when there are functional dependencies in the class. It took me some time to figure out what was going on, and led to more refactoring. Briefly: * Elaborate comments about orphan-hood and versioning added to IfaceSyn * The is_orph field vanishes from InstEnv.Instance * Similarly ru_orph vanishes from CoreSyn.CoreRule * Orphan-hood is computed in MkIface.instanceToIfaceInst, and MkIface.coreRuleToIfaceRule Elsewhere just tidying up.
-
- 20 Feb, 2007 1 commit
-
-
simonpj@microsoft.com authored
Fixes Trac #1128 Please merge to STABLE A rather obscure bug related to -fno-implicit-prelude. See Note [Used names with interface not loaded] in RnNames. Easily fixed, however. Test is rn051
-
- 07 Feb, 2007 1 commit
-
-
simonpj@microsoft.com authored
The code for -ddump-minimal-imports was erroneously using loadSrcInterface, which looks only for *exposed* modules. It should instead use loadSysInterface which looks for all interfaces. The fix is straightforward. MERGE to 6.6 branch.
-
- 05 Jan, 2007 1 commit
-
-
chak@cse.unsw.edu.au. authored
- This patch cleans up the HsSyn representation of type family declarations. - The new representation is not only less delicate, it also simplified teh code a bit. - I took the opportunity of stream lining the terminology and function names at the same time. - I also updated the description on the wiki at <http://hackage.haskell.org/trac/ghc/wiki/TypeFunctionsSyntax>
-
- 06 Nov, 2006 1 commit
-
-
simonpj@microsoft.com authored
This is really a long-standing bug. See test mod177.
-
- 02 Nov, 2006 3 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
- 01 Nov, 2006 1 commit
-
-
simonpj@microsoft.com authored
-