1. 26 Mar, 1999 6 commits
  2. 25 Mar, 1999 4 commits
  3. 24 Mar, 1999 5 commits
  4. 23 Mar, 1999 2 commits
  5. 22 Mar, 1999 9 commits
  6. 20 Mar, 1999 1 commit
  7. 18 Mar, 1999 4 commits
  8. 17 Mar, 1999 8 commits
    • sewardj's avatar
      [project @ 1999-03-17 16:28:34 by sewardj] · 8f05bdd5
      sewardj 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.
      8f05bdd5
    • sewardj's avatar
      [project @ 1999-03-17 16:25:07 by sewardj] · bbe9289a
      sewardj authored
      Add missing semicolon
      bbe9289a
    • simonm's avatar
      [project @ 1999-03-17 13:19:19 by simonm] · d9eb68cf
      simonm 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.
      d9eb68cf
    • simonm's avatar
      [project @ 1999-03-17 11:03:36 by simonm] · e28f99fd
      simonm authored
      Ignore type lambdas for the purposes of occurrence analysis.
      e28f99fd
    • simonm's avatar
      [project @ 1999-03-17 11:02:35 by simonm] · 27f395a7
      simonm authored
      Print (ICanSafelyBeINLINEd InsideLam _) as "__Ul".
      27f395a7
    • simonpj's avatar
      [project @ 1999-03-17 10:06:21 by simonpj] · fc7b70af
      simonpj 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'
      fc7b70af
    • simonm's avatar
      [project @ 1999-03-17 09:50:08 by simonm] · 32e46064
      simonm 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.
      32e46064
    • simonpj's avatar
      [project @ 1999-03-17 08:26:30 by simonpj] · 41d098e3
      simonpj 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.
      41d098e3
  9. 16 Mar, 1999 1 commit