1. 23 Jul, 2001 18 commits
  2. 22 Jul, 2001 2 commits
    • chak's avatar
      [project @ 2001-07-22 03:28:25 by chak] · 6ea86573
      chak authored
      ELF_TARGET_386 has to be #defined for x86/Solaris.
      6ea86573
    • chak's avatar
      [project @ 2001-07-22 03:19:51 by chak] · 02f8658b
      chak authored
      Solaris system headers contain function definitions (not just prototypes) for
      some functions; eg, stat().  WDP decided to toss (some of) them out during
      mangling.  I think, this is wrong, as the list of these functions changes with
      varying Solaris releases and it makes foreign importing these functions more
      complicated; in particular, it broke Directory.hsc and PosixFiles on
      x86/Solaris.
      02f8658b
  3. 21 Jul, 2001 2 commits
  4. 20 Jul, 2001 8 commits
    • simonpj's avatar
      [project @ 2001-07-20 16:48:20 by simonpj] · 5d095cc1
      simonpj authored
      This commit adds the very convenient function
      
        Subst.substTyWith :: [TyVar] -> [Type] -> Type -> Type
      
      and uses it in various places.
      5d095cc1
    • simonpj's avatar
      [project @ 2001-07-20 16:47:55 by simonpj] · e3defabc
      simonpj authored
      ------------------------
      	More newtype squashing
      	------------------------
      
      Recursive newtypes were confusing the worker/wrapper generator.
      This is because I originally got rid of opaque newtypes altogether,
      then put them back for recursive ones only, and forgot to reinstate
      the cunning stuff in the w/w stuff.
      
      (Discovered by Sigbjorn; thanks!)
      e3defabc
    • simonpj's avatar
      [project @ 2001-07-20 15:22:21 by simonpj] · 0fa26afe
      simonpj authored
      -----------------------
      	Get rid of ArityAtLeast
      	-----------------------
      
      Now that we have CgInfo, with the exact code-generator arity
      for the value, we don't need the distinction between ArityAtLeast
      and ArityExactly in the ArityInfo field of an IdInfo.
      
      This commit makes
      
      	type ArityInfo = Maybe Arity
      
      and propagates this change consistently through the compiler.
      0fa26afe
    • simonpj's avatar
      [project @ 2001-07-20 10:09:32 by simonpj] · 738b84dc
      simonpj authored
      Third cut at the demand analyser; seems to work nicely now
      738b84dc
    • simonpj's avatar
      [project @ 2001-07-20 10:08:56 by simonpj] · debd4f60
      simonpj authored
      --------------------------------------------
      	Hack around an infelicity in the simplifier
      	-------------------------------------------
      
      Use 3 iterations of the simplifier (instead of the previous 2)
      because otherwise we land up with huge dead expressions.
      Reason: an infelicity in the simpifier.
      
            let k = BIG in foldr k z xs
       ==>  let k = BIG in letrec go = \xs -> ...(k x).... in go xs
       ==>  let k = BIG in letrec go = \xs -> ...(BIG x).... in go xs
       Don't stop now!
      
      
      I couldn't see an easy way to make the simplifier avoid this
      big intermediate, so I hacked round it like this.
      debd4f60
    • simonpj's avatar
      [project @ 2001-07-20 10:05:37 by simonpj] · 98a74c9d
      simonpj authored
      --------------------------
      	Correct a bug in exprArity
      	--------------------------
      
      This long-standing bug meant that exprArity gave over-pessimistic
      answers.  e.g.
      
      	\x -> f x
      
      where nothing is known about f.  We were getting
      
      	0 (for f)
      	-1 (for the argument)
      	+1 (for the lambda)
      	-----
      	0
      
      The right answer is of course 1.
      98a74c9d
    • sof's avatar
      [project @ 2001-07-20 01:05:11 by sof] · 9d978426
      sof authored
      lookupSymbol (PEi386-only): When chasing down a label in a DLL, try
      removing the initial underscore (if any). I've prefixed the comment
      next to the change with the label 'HACK', as I'm not sure whether
      this is a name mangling operation you should always do when going
      from the import library name to the DLL-bound thing.
      (Julian, could you have a look?)
      
      Fixes probs with 'foreign import'ing DLL-bound symbols.
      9d978426
    • sof's avatar
      [project @ 2001-07-20 00:44:33 by sof] · ddb17caa
      sof authored
      Since longlong prims are no longer in the RTS, extend RTS_MINGW_ONLY_SYMBOLS with some reqd libgcc syms
      ddb17caa
  5. 19 Jul, 2001 10 commits