- 02 Apr, 2004 14 commits
-
-
simonmar authored
Some updates I've had sitting in my tree for a while: - when there are two logs only, print a summary table at the beginning of the output with columns for allocs, runtime, memory reads/writes, instrs. - handle multiple runs of each program, and average the results. (changes to nofib build system to follow).
-
simonmar authored
cachegrind: update command line syntax for recent versions of valgrind
-
simonpj authored
Document -fno-state-hack
-
simonpj authored
Add a flag -fno-state-hack, which switches off the "state hack". It's claims that every function over realWorldStatePrimTy is a one-shot function. This is pretty true in practice, and makes a big difference. For example, consider a `thenST` \ r -> ...E... The early full laziness pass, if it doesn't know that r is one-shot will pull out E (let's say it doesn't mention r) to give let lvl = E in a `thenST` \ r -> ...lvl... When `thenST` gets inlined, we end up with let lvl = E in \s -> case a s of (r, s') -> ...lvl... and we don't re-inline E.
-
simonpj authored
Get rid of DiscardedInfo, and fix a Ghci bug at the same time. The new story is this: - We always read the whole interface file, as it exists on disk, not dropping pragmas or anything. - We compare that from-the-disk copy with the new version before writing the new interface file. - We drop the pragmas a) Before loading the interface payload into the declaration pools b) In the no-need-to-recompile case, before typechecking the interface decls. Omitting this was the previous bug.
-
simonpj authored
* Improve error message for overlapping instances * Improve handling of type-variable-only constraints like (Foo a). Previously we never looked them up in the instance envt, *except* if -fallow-undecideable-instances was on, because that allows instance (...) => Foo a But -fallow-undecideable-instances might be on in the module with the instance decl, but off in the importing module. Also it's really a per-class thing. So now we just record in the instance env whether there are any such strange instances, a kind of short-cut for the lookup. * Arrange that we are a bit more eager about resolving overloading in the case of existential pattern matching [George Russel suggestion] Here's the example (see comments in InstEnv) -- The key_tys can contain skolem constants, and we can guarantee that those -- are never going to be instantiated to anything, so we should not involve -- them in the unification test. Example: -- class Foo a where { op :: a -> Int } -- instance Foo a => Foo [a] -- NB overlap -- instance Foo [Int] -- NB overlap -- data T = forall a. Foo a => MkT a -- f :: T -> Int -- f (MkT x) = op [x,x] -- The op [x,x] means we need (Foo [a]). Without the filterVarSet we'd -- complain, saying that the choice of instance depended on the instantiation -- of 'a'; but of course it isn't *going* to be instantiated.
-
simonpj authored
Fix erroneous hi-boot
-
simonpj authored
A preliminary step towards being able to identify existential type variables separately. That in turn helps when resolving overloading; I think we want to resolve overloading without worrying about what these type variables might instantiate to.
-
simonpj authored
wibble
-
simonpj authored
Comments mainly, plus use newTyConRhs
-
simonpj authored
Remove unused result from dropInline
-
simonpj authored
Comments
-
simonpj authored
Import wibbles
-
igloo authored
Add support for foreign imports inside quasi-quotes. Gave TH a few more uniques to play with and fixed a typo.
-
- 31 Mar, 2004 1 commit
-
-
simonmar authored
ClosureInfo.might_be_a_function: this predicate wasn't taking into account abstract types, which might also hide functions underneath. Fixes broken compiler when compiled without -O.
-
- 30 Mar, 2004 2 commits
- 27 Mar, 2004 1 commit
-
-
panne authored
Added the new-born haddock.js to the build process and the documentation.
-
- 24 Mar, 2004 2 commits
- 23 Mar, 2004 5 commits
-
-
simonmar authored
Remove GhcRtsThreaded - there's no reason to leave it in this file.
-
simonmar authored
Update docs for --enable-threaded-rts (now deprecated).
-
simonmar authored
Give the malloc functiosn the __malloc__ attribute, if available. Helps with aliasing optimisations, apparently. Submitted by: Duncan Coutts <duncan.coutts@worcester.oxford.ac.uk>
-
simonmar authored
Add GNUC3_ATTRIBUTE() macro Submitted by: Duncan Coutts <duncan.coutts@worcester.oxford.ac.uk>
-
ralf authored
Version 6.3 is encoded as 603 not 630. GHC builds fine again through both stages on my system. Ralf
-
- 22 Mar, 2004 4 commits
-
-
simonmar authored
Typo
-
simonmar authored
change this message: <prog>: GHC not built for -prof to <prog>: not built for -prof Suggested by: Sven Panne.
-
simonmar authored
Fix uninitialised ref. Submitted by: Julian Seward (who else!)
-
ralf authored
Boot-strapping ghc revealed an issue related to yesterday's renaming of Data.Typeable. I can now build a stage1 compiler again. Let me try a stage2 one as well. ralf 2004/03/21 11:06:04 PST Modified files: ghc/compiler/prelude PrelNames.lhs ghc/compiler/typecheck TcGenDeriv.lhs Log: Implemented renaming for Data.Typeable as far as deriving mechanism is involved. See http://www.haskell.org//pipermail/libraries/2004-March/001846.html Revision Changes Path 1.88 +1 -1 fptools/ghc/compiler/prelude/PrelNames.lhs 1.107 +1 -1 fptools/ghc/compiler/typecheck/TcGenDeriv.lhs
-
- 21 Mar, 2004 1 commit
-
-
ralf authored
Implemented renaming for Data.Typeable as far as deriving mechanism is involved. See http://www.haskell.org//pipermail/libraries/2004-March/001846.html
-
- 19 Mar, 2004 4 commits
-
-
panne authored
Fixed the JOB line in heap profiles, it contained superfluous spaces and an evil line break. Merge to STABLE (This fix looks quite right, but again, I leave this to the Master of Releases (tm), because there might already be tools depending on the slightly wrong old format.)
-
panne authored
Restrict the setlocale() to LC_CTYPE (was LC_ALL), because printf and friends are LC_NUMERIC-sensitive. This fixes the generation of heap profiles for e.g. de_DE locales where a comma separates the fractional part of a number, not a dot. (There was a similar bug in Hugs regarding atof, BTW, which was fixed last December.) Merge to STABLE (I leave this to the Grand Marshal of Releases, Mr. SimonM, because I'm not 100% sure of all the consequences.)
-
simonpj authored
Add comments
-
simonpj authored
Fix naming bogon for Typeable
-
- 18 Mar, 2004 3 commits
- 17 Mar, 2004 3 commits
-
-
simonpj authored
Wibble
-
simonpj authored
------------------------ More newtype clearing up ------------------------ * Change the representation of TyCons so that it accurately reflects * data (0 or more constrs) * newtype (1 constr) * abstract (unknown) Replaces DataConDetails and AlgTyConFlavour with AlgTyConRhs * Add IfaceSyn.IfaceConDecls, a kind of stripped-down analogue of AlgTyConRhs * Move NewOrData from BasicTypes to HsDecl (it's now an HsSyn thing) * Arrange that Type.newTypeRep and splitRecNewType_maybe unwrap just one layer of new-type-ness, leaving the caller to recurse. This still leaves typeRep and repType in Type.lhs; these functions are still vaguely disturbing and probably should get some attention. Lots of knock-on changes. Fixes bug in ds054.
-
simonpj authored
More Windows building notes
-