- Jul 26, 1999
-
-
Simon Peyton Jones authored
Make Type.isUnLiftedType return True for forall'd unlifted types: e.g. x :: forall a. Int# I found bindings like these were getting floated to the top level. They are pretty bogus types, mind you. It would be better never to construct them. (George Russell tripped over this one.)
-
Simon Peyton Jones authored
* Fix a bug in the unifier that made the typechecker loop on a 5-line program from Sigbjorn. The bug is documented near the fix, in TcUnify.uUnboundVar
-
Simon Peyton Jones authored
Add rnfail017
-
Simon Peyton Jones authored
Fix type in tcMatch discovered by Keith
-
Simon Peyton Jones authored
Add tc102
-
- Jul 16, 1999
-
-
Keith Wansbrough authored
Remove dead token IThash added yesterday by mistake.
-
Julian Seward authored
Fix use of _unused var for ghc-3.XX.
-
Julian Seward authored
cpp-ify some H98isms with PSEQ and SAPPLY to placate ghc-3.0X
-
Simon Peyton Jones authored
* Fix a bug in the unifier that made the typechecker loop on a 5-line program from Sigbjorn. The bug is documented near the fix, in TcUnify.uUnboundVar
-
Simon Peyton Jones authored
Add tc101
-
Julian Seward authored
Fix trivial parse errors.
-
sven.panne@aedion.de authored
More 64bit fun: Fixed an ill-placed #ifdef and added a cast to a numeric literal (for explanation see yesterday's fix).
-
Keith Wansbrough authored
Layout fix to uses of ASSERT in do expressions; thanks Kevin for pointing out the problem.
-
sven.panne@aedion.de authored
More 64bit fun: Fixed an ill-placed #ifdef and added a cast to a numeric literal (for explanation see yesterday's fix).
-
Simon Peyton Jones authored
* Fix long-standing bug in TcIfaceSig which meant it occasionally complained about a lint error in an unfolding, with a locally-defined name not being in scope. This only happened when hi-boot loops were being tied, so an unfolding might mention a locally-defined name.
-
Simon Peyton Jones authored
* Fix trivial bug in WwLib.mkWWfixup, which showed up when booting the compiler.
-
sven.panne@aedion.de authored
More small portability changes: * For older GHCs use IOBase instead of PrelIOBase * Never use commas in SLIT. cpp IS a hack for Haskell...
-
- Jul 15, 1999
-
-
sven.panne@aedion.de authored
Patched my previous patch ($ vs $$, && vs if/then/fi). Installing a Happy binary-dist still only creates a happy and no happy-1.6 executable, but this has very probably nothing to do with my changes.
-
sven.panne@aedion.de authored
Two checks for empty file lists added.
-
sven.panne@aedion.de authored
We have to be very careful with numeric literals in the C part, in this case 0xff (of type int = 4 bytes on Alpha) was shifted left 56 times => always zero :-{ Using an L or UL suffix is not always practical, because the needed size depends on conditional typedefs somewhere else. Solution: Cast! :-P ghc/includes contains some more suspicious literals, but I did not have a look at them yet.
-
Keith Wansbrough authored
This commit makes a start at implementing polymorphic usage annotations. * The module Type has now been split into TypeRep, containing the representation Type(..) and other information for `friends' only, and Type, providing the public interface to Type. Due to a bug in the interface-file slurping prior to ghc-4.04, {-# SOURCE #-} dependencies must unfortunately still refer to TypeRep even though they are not friends. * Unfoldings in interface files now print as __U instead of __u. UpdateInfo now prints as __UA instead of __U. * A new sort of variables, UVar, in their own namespace, uvName, has been introduced for usage variables. * Usage binders __fuall uv have been introduced. Usage annotations are now __u - ty (used once), __u ! ty (used possibly many times), __u uv ty (used uv times), where uv is a UVar. __o and __m have gone. All this still lives only in a TyNote, *for now* (but not for much longer). * Variance calculation for TyCons has moved from typecheck/TcTyClsDecls to types/Variance. * Usage annotation and inference are now done together in a single pass. Provision has been made for inferring polymorphic usage annotations (with __fuall) but this has not yet been implemented. Watch this space!
-
Simon Marlow authored
No more RAWCPP, thank you.
-
Simon Marlow authored
Use +RTS -S<file> rather than +RTS -s<file>, since the latter only gives summary statistics now.
-
Simon Marlow authored
A prime example of how an inconsistent .hi-boot file can really ruin your day: the definition of CoreRules in CoreSyn.hi-boot was out of sync with the real one, which meant that the compiler generated the wrong code for a `seq` on something of type CoreRules.
-
Simon Marlow authored
oops, forgot to commit this yesterday. RAWCPP is now '$(CPP) -undef -traditional'.
-
- Jul 14, 1999
-
-
Simon Peyton Jones authored
[Simon: this should fix that -funfolding-use-threshold0 lint bug] [Kevin: have a look at WwLib.mkWwBodies. Isn't it a thing of beauty? Could you think about whether the CPR stuff could be cleaned up a bit? The strictness stuff is much shorter.] This commit tidies up WwLib.mkWwBodies, fixing a couple of bugs. * One bug showed up when CPR made a worker return an unboxed tuple, but the worker didn't have any other arguments. The "add a void arg" hack needed to be generalised a bit. * The other bug showed up when booting the compiler. There's a long comment near splitProductType in WwLib.lhs that explains the problem.
-
sven.panne@aedion.de authored
Enlarged heap for 2.10-compiled Happy on Alphas
-
Simon Marlow authored
pre-4.03 didn't have __HASKELL98__, use something else.
-
Simon Peyton Jones authored
Main things: * Add splitProductType_maybe to DataCon.lhs, with type splitProductType_maybe :: Type -- A product type, perhaps -> Maybe (TyCon, -- The type constructor [Type], -- Type args of the tycon DataCon, -- The data constructor [Type]) -- Its *representation* arg types Then use it in many places (e.g. worker-wrapper places) instead of a pile of junk * Clean up various uses of dataConArgTys, which were plain wrong because they weren't passed the existential type arguments. Most of these calls are eliminated by using splitProductType_maybe above. I hope I correctly squashed the others. This fixes a bug that Meurig's programs showed up. module FailGHC (killSustainer) where import Weak import IOExts data Sustainer = forall a . Sustainer (IORef (Maybe a)) (IO ()) killSustainer :: Sustainer -> IO () killSustainer (Sustainer _ act) = act The above program used to kill the compiler. * A fairly concerted attack on the Dreaded Space Leak. - Add Type.seqType, CoreSyn.seqExpr, CoreSyn.seqRules - Add some seq'ing when building Ids and IdInfos These reduce the space usage a lot - Add CoreSyn.coreBindsSize, which is pretty strict in the program, and call it when we have -dshow-passes. - Do not put the inlining in an Id that is being plugged into the result-expression of the simplifier. This cures a the 'wedge' in the space profile for reasons I don't understand fully Together, these things reduce the max space usage when compiling PrelNum from 17M to about 7Mbytes. I think there are now *too many* seqs, and they waste work, but I don't have time to find which ones. Furthermore, we aren't done. For some reason, some of the stuff allocated by the simplifier makes it through all during code generation and I don't see why. There's a should-be-unnecessary call to coreBindsSize in Main.main which zaps some, but not all of this space. -dshow-passes reduces space usage a bit, but I don't think it should really. All the measurements were made on a compiler compiled with profiling by GHC 3.03. I hope they carry over to other builds! * One trivial thing: changed all variables 'label' to 'lbl', becuase the former is a keyword with -fglagow-exts in GHC 3.03 (which I was compiling with). Something similar in StringBuffer.
-
Simon Marlow authored
- Add findPtr() - searches through the heap for an occurrence of a given value. Useful when debugging.
-
Simon Marlow authored
Workaround bug in Linux's glibc 2.1: don't fflush(stdout) before writing to stderr.
-
Simon Marlow authored
use shutdownHaskellAndExit().
-
Simon Marlow authored
- add USE_REPORT_PRELUDE - Directory and Time don't need -monly-3-regs any more - remove a -fno-prune-tydecls
-
Julian Seward authored
Changed vars of the form _unused to zz_unused, since 3.02 doesn't understand this convention.
-
Simon Marlow authored
Don't attempt to discover the exact location of cpp, instead use 'gcc -E'. With the right combination of flags, it seems we can get the same behaviour as calling cpp directly.
-
Simon Marlow authored
Update to match CgUsages.hi-boot-5
-
Simon Marlow authored
Recover the -funbox-strict-fields test.
-
Simon Marlow authored
4.04
-
Simon Marlow authored
4.04 changes.
-
Simon Marlow authored
- add 4.04 release notes - several other docfixes and markup fixes.
-