1. 09 Jun, 2000 7 commits
    • simonpj's avatar
      [project @ 2000-06-09 15:53:12 by simonpj] · b610eca3
      simonpj authored
      GHC gets upset if you have types like
      
      	Eq a => a->a
      
      where 'a' is *not* universally quantified.
      By "upset" I mean that the typechecker generates
      rather bogus code, that subsequently kills Lint.
      
      Such types used to be rejected in the renamer,
      but Jeff removed that in favour of an ambiguity
      check in TcMonoType.  I remember agreeing to move
      the renamer check to the type checker, and Jeff did this,
      but the check in TcMonoType was only checking for
      *ambiguity*, which isn't quite the same.
      
      I've restored the missing check and commented it
      better in TcMonoType.
      
      Jeff: if this isn't right for you, let's dicuss.
      
      Incidentally, I also generalise the ambiguity check
      to detect
      	forall a. ?x::a => Int
      which is ambiguous.
      
      I did a few formatting changes too.
      b610eca3
    • simonmar's avatar
      [project @ 2000-06-09 15:15:25 by simonmar] · 45a3e562
      simonmar authored
      Don't group variable bindings with the same name together.  They
      should be flagged as duplicate definitions.
      45a3e562
    • simonmar's avatar
      [project @ 2000-06-09 13:48:46 by simonmar] · eb89bdda
      simonmar authored
      remove NonExhaustiveGuards exception
      eb89bdda
    • simonmar's avatar
      [project @ 2000-06-09 13:48:09 by simonmar] · dc5ae80c
      simonmar authored
      Guard failure will now throw a PatternMatchFail, the
      NonExhaustiveGuards exception is to be removed.
      dc5ae80c
    • simonmar's avatar
      [project @ 2000-06-09 11:01:58 by simonmar] · 0416c6e7
      simonmar authored
      Part of the -split-objs commit that I forgot yesterday.
      0416c6e7
    • simonpj's avatar
      [project @ 2000-06-09 07:32:31 by simonpj] · 3c1b89ab
      simonpj authored
      In my commit of 24 May I got this boolean condition
      back to front:
      
          tryWW non_rec fn_id rhs
            | not (isNeverInlinePrag inline_prag)
            =  -- Don't split things that will never be inlined
      
      The 'not' is obviously wrong!  As a result virtually nothing
      is being worker-wrapper'd
      
      How this has survived for more than two weeks beats me.
      3c1b89ab
    • andy's avatar
      [project @ 2000-06-09 00:43:55 by andy] · e7db662b
      andy authored
      Commiting version of the STG->GOO code generator that works with fib.
      e7db662b
  2. 08 Jun, 2000 14 commits
  3. 07 Jun, 2000 3 commits
  4. 06 Jun, 2000 2 commits
  5. 05 Jun, 2000 3 commits
  6. 04 Jun, 2000 3 commits
  7. 02 Jun, 2000 6 commits
  8. 01 Jun, 2000 2 commits