1. 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.
    • 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
  2. 21 Jul, 2001 2 commits
  3. 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.
    • 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!)
    • 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.
    • 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
    • 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.
    • 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)
      The right answer is of course 1.
    • 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.
    • 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
  4. 19 Jul, 2001 13 commits
  5. 18 Jul, 2001 3 commits
    • sof's avatar
      [project @ 2001-07-18 19:32:15 by sof] · 07446263
      sof authored
      Restrict ghc-4.xx breakage to mingw only; not an issue for other plats
    • rrt's avatar
      [project @ 2001-07-18 16:06:10 by rrt] · 0143969c
      rrt authored
      Add support for Hugs's :info command. Doesn't work yet, but shouldn't
      interfere with anything else. Some of the files touched are just to correct
      out-of-date comments.
      Highlights are:
      hscThing: like hscStmt, but just gets info about a single identifier
      cmInfoThing: exposes hscThing's functionality to the outside world
    • rrt's avatar
      [project @ 2001-07-18 16:04:31 by rrt] · bdc687a0
      rrt authored
      Fix typo (variable name wrong; wouldn't build)
  6. 17 Jul, 2001 12 commits
    • sof's avatar
      [project @ 2001-07-17 23:02:14 by sof] · 5c571226
      sof authored
      wibble - the joys of CVS conflict merging
    • qrczak's avatar
      [project @ 2001-07-17 21:12:33 by qrczak] · e9f4cd43
      qrczak authored
      Include way in HSC_C_OBJS to clean *_hsc.p_o too.
    • sof's avatar
      [project @ 2001-07-17 18:47:52 by sof] · ab5f7f9d
      sof authored
    • sof's avatar
      [project @ 2001-07-17 17:27:20 by sof] · afd10065
      sof authored
      Drop the dependency on the Win32 library, as it is only used in an
      extremely limited way (a single 'foreign import' is all that's reqd)
      [Sorry Reuben, I don't buy your 'extra deps are good' argument :-) ]
    • sof's avatar
      [project @ 2001-07-17 17:12:04 by sof] · 98cbc33b
      sof authored
      runSomething: narrow down prev commit, only quote args under mingw;it interacts badly with -D quoting already done on other plats (and isn't reqd)
    • simonpj's avatar
      [project @ 2001-07-17 15:48:40 by simonpj] · 70eb132b
      simonpj authored
      Add comment and use backslash consistently
    • simonpj's avatar
      [project @ 2001-07-17 15:48:21 by simonpj] · 0f894d81
      simonpj authored
      Remove trace
    • simonpj's avatar
      [project @ 2001-07-17 15:28:30 by simonpj] · fdc83001
      simonpj authored
      	First cut at the demand analyser
      This demand analyser is intended to replace the strictness/absence
      analyser, and the CPR analyser.
      This commit adds it to the compiler, but in an entirely non-invasive
      	If you build the compiler without -DDEBUG,
      	you won't get it at all.
      	If you build the compiler with -DDEBUG,
      	you'll get the demand analyser, but the existing
      	strictness analyser etc are still there.  All the
      	demand analyser does is to compare its output with
      	the existing stuff and report differences.
      There's no cross-module stuff for demand info yet.
      The strictness/demand info is put the IdInfo as
      Eventually we'll remove the old ones.
    • rrt's avatar
      [project @ 2001-07-17 14:53:48 by rrt] · d011e911
      rrt authored
      Reset the terminal on exit so that ghci doesn't leave it messed up. To see
      what I mean, run ghci, then type :q RET, then su return, and start typing a
      password. Alarming, isn't it?
      This fix needs a patch to the Readline library (next commit).
    • rrt's avatar
      [project @ 2001-07-17 14:51:53 by rrt] · e1d82082
      rrt authored
      Make -u's and symbols into separate args
    • rrt's avatar
      [project @ 2001-07-17 14:48:04 by rrt] · 544179c9
      rrt authored
      1. Make GHC work with paths and filenames containing spaces (hopefully).
      This is done by quoting all arguments sent to the shell. To avoid causing
      problems, this means that each argument in a list had *better* be a single
      argument, hence the next commit to PackageSrc.hs.
      2. undosify the path passed as the -h argument to unlit, to make unlit work
      on Windows again.
      3. Fix getExecDir for Windows (broken by previous changes to the meaning of
    • qrczak's avatar
      [project @ 2001-07-17 09:55:09 by qrczak] · 5f6ec2ca
      qrczak authored
      Typos in a comment. Whitespace at eols.