- Mar 18, 1999
-
-
Keith Wansbrough authored
Minor documentation fixes, and addition of SRT explanation.
-
Simon Marlow authored
egcs sometimes leaves a 'popl %ecx' in the epilogue, it seems.
-
Simon Marlow authored
Add infixr 1 =<<
-
- Mar 17, 1999
-
-
Julian Seward authored
Make mut_link field be NULL when removing CAF_{UN}ENTERED from mut_once_list. Convention is to have the field be NULL iff the caf is not on a mut_once_list. This gives a O(1) cost way to avoid putting a caf onto a mut_once_list more than once.
-
Julian Seward authored
Add missing semicolon
-
Simon Marlow authored
- Stack overflow now generates an (AsyncException StackOverflow) exception, which can be caught as normal. - Add a stack overflow handler to the top-level mainIO handler, with the standard behaviour (i.e. call the stack overflow hook and then exit). - Add a test for stack overflow catching. - Fix a couple of bugs in async exception support.
-
Simon Marlow authored
Ignore type lambdas for the purposes of occurrence analysis.
-
Simon Marlow authored
Print (ICanSafelyBeINLINEd InsideLam _) as "__Ul".
-
Simon Peyton Jones authored
Make it so that Local (i.e. non-top-level) names record whether they originally came from an interface file. This means that when unifying two type variables we can readily choose one that occurred in the source, rather than one imported from an interface file. That in turn improves compiler error messages. E.g. rd :: (RealFloat a, RealFrac b) => b -> Transformation a rd degrees = r ((degrees / 180.0) * pi) used to say Could not deduce `Floating a' (arising from use of `pi' at Foo.hs:11) from the context: (RealFloat a1, RealFrac a) Probable cause: missing `Floating a' in type signature for `rd' [here the 'a' came from the signature for 'pi' in PrelBase; the 'a1' is a renamed version of the 'a' in the source pgm] but now says Could not deduce `Floating b' (arising from use of `pi' at Foo.hs:11) from the context: (RealFloat a, RealFrac b) Probable cause: missing `Floating b' in type signature for `rd'
-
Simon Marlow authored
When resizing a stack, set the Sp and Su of the old, dead, TSO to be just beyond the end of its stack so we don't attempt to scavenge any part of the stack in case we come across this TSO during GC.
-
Simon Peyton Jones authored
Complete the hack that lets us give 'error' the type error :: forall a:?. String -> a The kind '?' (also known as 'Type AnyBox') means that error can be applied to unboxed types too. unsafeCoerce is similar. But the 'real' type of error is: error :: forall bv. forall a:Type bv. String -> a That is, it's really polymorphic in the boxity of a; that's different to saying that the type bound to 'a' must have kind '?'. The fix was in TcType.inst_tyvar, where we look for the kind '?' and generate a boxity variable instead. Sigh.
-
- Mar 16, 1999
-
-
Simon Marlow authored
- Document the pragmas we support - Fix some lies in the vs. Haskell section.
-
Simon Marlow authored
Improvements to the threading model. - asynchronous exceptions supported. - killThread# can now raise an exception in the specified thread. It's new type is killThread# :: ThreadId# -> Exception -> IO () High-level versions: killThread :: ThreadId -> IO () raiseInThread :: ThreadId -> Exception -> IO () (killThread raises a 'ThreadKilled' exception in the specified thread). If the thread has no exception handler, it is killed as before. Otherwise, the exception is passed to the innermost CATCH_FRAME and the thread is woken up if it was blocked. The current computation is suspended, instead of being replaced by the exception (as is the case with throw). Sending an exception to the current thread works too. - new primitive: myThreadId# :: IO ThreadId# and corresponding high-level version myThreadId :: IO ThreadId. - new primitive: yield# :: IO (), and yield :: IO (). - the TSO now contains a pointer to the resource currently blocked on (MVAR or BLACKHOLE_BQ). - Add a giant comment to TSO.h about what the various link fields are supposed to do, and invariants etc.
-
Simon Peyton Jones authored
Bring up to 4.02 interface file syntax
-
Simon Peyton Jones authored
Make it only a warning if you have a type like this: forall a. Int -> Int These show up in interface files occasionally, just because the simplifier is a bit blase about adding type arguments. But it's an error to have forall a. Eq a => Int -> Int The flag -fwarn-unused-matches reports a warning for these redundant for-alls.
-
- Mar 15, 1999
-
-
Simon Marlow authored
Remove a couple of stgcasts.
-
Simon Marlow authored
Specialise STATIC_LINK() for {FUN,THUNK,IND}_STATIC.
-
Simon Marlow authored
Reduce alignment for info tables on x86 to 1 word. It was previously 4 words, which meant that the entry code was wrongly aligned all the time (because info tables are either 2 or 3 words). At least this way we've got a 1 in 4 chance of being properly aligned.
-
Simon Marlow authored
Remove flags field from info tables; create a separate table of flags indexed by the closure type in the RTS.
-
Simon Peyton Jones authored
Make clear in HsType whether a for-all is explicit in the source program or not. Implicit for-alls now look like HsForAllTy Nothing ctxt ty while explicit ones look like HsForAllTy (Just tvs) ctxt ty Before this, the scope analysis stuff in RnSource was actually wrong (not that anyone had noticed), but Alex Ferguson did notice a bogus (sort-of-duplicate) error message on types like f :: Eq a => Int -> Int which led me to spot the deeper problem. Anyway, it's all cool now.
-
Simon Marlow authored
Move mkdependHS to lib.
-
- Mar 11, 1999
-
-
Simon Peyton Jones authored
Fix loadInterface to avoid repeated loading of PrelPack.hi-boot
-
Simon Marlow authored
Save a few bytes by ommitting the static link field on closures with an empty SRT.
-
Simon Marlow authored
HPUX fixes.
-
sof authored
Pass -fcompiling-prelude through.
-
sof authored
-fcompiling-prelude is back! When compiling the Prelude we need to distinguish between wired-in module references that are DLL-bound or not. (Just having -static didn't cut it in the end, since it also encompasses RTS references.) On platforms that don't use Win32 DLLs, Preludes compiled with and without -fcompiling-prelude will be observationally equivalent.
-
Simon Marlow authored
Fix a small bug in weak ptr support.
-
sof authored
After 'make install' has completed, make sure we regenerate the script in a state that's useable.
-
- Mar 10, 1999
-
-
sof authored
Last commit made empty where bodies illegal, i.e., x = 2 where Re-added support for this "feature".
-
sof authored
Some Haskell98-related regression tests
-
sof authored
Neural network regression test app; contains painfully long list of constants.
-
Simon Marlow authored
Put mkdependHS in libexecdir, not bindir.
-
- Mar 09, 1999
-
-
Julian Seward authored
Now lives in ghc/interpreter/lib, along with other libraries.
-
Julian Seward authored
Handle CAF_UNENTERED (ie, reverted) in scavenge_mut_once_list
-
Julian Seward authored
Many improvements resulting from first attempt to run nofib suite: -- More libraries (lib/*.hs) brought into operation -- Prelude error handling and basic I/O improved -- Changed bytecode immediate value fields so large constant -- tables can be compiled -- Fixed bugs: translation of FATBAR, negative floating point -- literals, strict constructors, handling of CAFs
-
Julian Seward authored
#ifdeffery to make it work with interpreter.
-
Julian Seward authored
Include CAF_ENTEREDs on the mutables list so they get scavenged correctly.
-
- Mar 08, 1999
-
-
Simon Marlow authored
Fix bug in mkRegLiveness causing bogus heap checks to be generated on the Sparc.
-
sof authored
docfix
-
sof authored
enlargeStablePtrTable: initialise the whole table (incl. index 0) the first time around.
-