1. 12 Oct, 2001 3 commits
  2. 11 Oct, 2001 4 commits
    • sof's avatar
      [project @ 2001-10-11 23:52:51 by sof] · 41d3a213
      sof authored
      Robustified handling of paths, allowing both / and \ to be recognised
      as path separators under Win32 -- ghc-5.02-win32 has a bug where
      it will barf when invoked as follows:
      
         c:\dot\net> ghc -c c:\dot\net\foo.hs -odir c:\dot\net\output
      
      i.e., a DOS-style input filename together with the use of -odir. (5.02
      constructs an illegal path for the -o argument to the assembler).
      
      Branch mergers: go wild
      41d3a213
    • sof's avatar
      [project @ 2001-10-11 22:27:04 by sof] · cbaf5d63
      sof authored
      - removed Win32-only IOErrorType.ComError
      - added IOErrorType.(DynIOError Dynamic.Dynamic)
      
        Propagating dynamically-typed exceptions as Exception.DynException
        isn't always the right thing to do
        [ why? You cannot catch them with IO.catch & you don't get the
          'infrastructure' that IOError offers, so you're forced to
          reinvent that wheel for each dynamic exception.
        ]
      - removed IOExts.isComError  :: IOError -> Bool
      - added IOExts.isDynIOError  :: IOError -> Bool
      - added IOExts.getDynIOError :: IOError -> Dynamic.Dynamic
      - documented IOExts changes.
      cbaf5d63
    • simonpj's avatar
      [project @ 2001-10-11 16:44:10 by simonpj] · b5bab055
      simonpj authored
      Add special ILX case for Coerce
      b5bab055
    • sewardj's avatar
      [project @ 2001-10-11 14:31:45 by sewardj] · e55df039
      sewardj authored
      Correctly handle unboxed tuples when converting DEFAULT alts to
        unboxed tuple constructors in case args.  (I'm sure this could
        be worded better).  Branch and HEAD have drifted too far apart
        for easy common commit for this, so is committed seperately for
        ghc-5-02-branch.
      e55df039
  3. 10 Oct, 2001 4 commits
    • sof's avatar
      [project @ 2001-10-10 23:18:43 by sof] · 6baa39f9
      sof authored
      Remove HDirect/COM package.
      6baa39f9
    • sof's avatar
      [project @ 2001-10-10 23:17:14 by sof] · 3f1b7ac4
      sof authored
      savePackageConfig: Robustified - remove existing .old file before saving
      away new. In case of failure, print out a msg detailing what files were
      involved.
      3f1b7ac4
    • sof's avatar
      [project @ 2001-10-10 17:25:15 by sof] · 46e21424
      sof authored
      - fixed awfully bad bug in allocation of new argv vector, it
        did:
      
            malloc(sizeof(char) * (argc + 1 + 1));
      
        where it should have done:
      
            malloc(sizeof(char*) * (argc + 1 + 1));
      
        [ This one is the cause of one or two 5.02 bug reports
          that are now starting to trickle in. As a stopgap
          measure (and since I'm to blame for this one, really),
          I've put up a replacement ghci.exe wrapper at
      
            http://www.galconn.com/~sof/ghci.zip
        ]
      
      - added some (currently disabled) debug print code.
      46e21424
    • ken's avatar
      [project @ 2001-10-10 17:17:44 by ken] · 9508d01a
      ken authored
      Pass the "-mieee" flag to gcc, so that we get IEEE floating-point.
      (Fixed: pass the flag all the time, not just when compiling HC files.)
      MERGE TO STABLE
      9508d01a
  4. 09 Oct, 2001 1 commit
  5. 08 Oct, 2001 2 commits
  6. 04 Oct, 2001 4 commits
  7. 03 Oct, 2001 12 commits
    • simonpj's avatar
      [project @ 2001-10-03 16:20:57 by simonpj] · a1b59a18
      simonpj authored
      Add comments, and nuke strictness info in CoreTidy if totally boring
      a1b59a18
    • rrt's avatar
      [project @ 2001-10-03 15:30:57 by rrt] · d1bf2fc3
      rrt authored
      Dear Sigbjorn,
      
      next time you turn an
      
      if...endif
      
      into an
      
      if...else..endif
      
      remember to check the sense of the test. Sometimes, it needs to be reversed
      (there was in this case a hint in the surrounding code).
      
      Love,
      
      Reuben.
      d1bf2fc3
    • simonpj's avatar
      [project @ 2001-10-03 13:59:22 by simonpj] · ea00738b
      simonpj authored
      wibbles only
      ea00738b
    • simonpj's avatar
      [project @ 2001-10-03 13:58:50 by simonpj] · f659cb97
      simonpj authored
      ---------------------
      	Clear up infelicities
      	---------------------
      	CorePrep, CoreUtils, SimplUtils
      	LiberateCase (wibbles only)
      
      * Previously CorePrep was floating LocalIds to top level, which
        breaks the invariant that after CorePrep all top level Ids are
        GlobalIds.  But it didn't really need to, and this pass makes it
        so.  It's much tidier now.
      
      * Make CorePrep do eta expansion on partial applications
      	x = foldr f y  ==>   x = \ys -> foldr f y ys
        (This used to be done in the simplifier, but now the
        simplifier only eta expands where there is at least one
        lambda already.)
      
      * Omit CoreUtils.etaReduce.  (Never called.)
      
      * Improve CoreUtils.etaExpand, so that it doesn't add gratuitous
        beta redexes.
      f659cb97
    • simonpj's avatar
      [project @ 2001-10-03 13:58:13 by simonpj] · 4a1e12a1
      simonpj authored
      ----------------------------------------------
      	Output curried functions for data constructors
      	----------------------------------------------
      			(incomplete)
      
      The idea here is to output code for the *curried* version of
      the worker of a data constructor, so that the worker can be
      treated as a first-class citizen elsewhere in the compiler.
      In particular, it doesn't need to be a "hasNoBinding" thing,
      which are the subject of a number of nasty hacks.
      
      These changes only do the business for the code gen route
      via AbstractC.  Remaining to do: the byte code generator.
      
      Idea: move the byte-code gen to STG code, and inject the
      curried data-constructor workers at the STG stage.
      
      
      	I hope the changes here won't make
      	anything stop working.  For now, constructor
      	workers remain "hasNoBinding" things.
      
      CgConTbls, CodeGen, CoreTidy, CoreToStg
      4a1e12a1
    • simonmar's avatar
      [project @ 2001-10-03 13:57:42 by simonmar] · b4623557
      simonmar authored
      Tidy up ghc/includes/Constants and related things.
      
      Now all the constants that the compiler needs to know, such as header
      size, update frame size, info table size and so on are generated
      automatically into a header file, DeriviedConstants.h, by a small C
      program in the same way as NativeDefs.h.  The C code in the RTS is
      expected to use sizeof() directly (it already does).
      
      Also tidied up the constants in MachDeps.h - all the constants
      representing the sizes of various types are named SIZEOF_<foo>, to
      match the constants defined in config.h.  PrelStorable.lhs now doesn't
      contain any special knowledge about GHC's conventions as regards the
      size of certain types, this is all in MachDeps.h.
      b4623557
    • simonpj's avatar
      [project @ 2001-10-03 13:57:33 by simonpj] · e205a0ce
      simonpj authored
      -------------------------------------------
      	Don't bomb out on inlining big constructors
      	-------------------------------------------
      
      The unfolder bombs out if the expression get too big; no point in
      computing its exact size when it's vast.  But for *constructors*
      applied to a lot of args, it's worth keeping going, because we
      get a big *disount* too
      	$fFooInt = :CFoo a1 a2 a3 ... a50
      
      We want to keep the inlining for $fFooInt in interface files, so
      that importing guys can do the selection.
      
      
      Solution: only bomb out when size-discount gets too big.
      e205a0ce
    • rrt's avatar
      [project @ 2001-10-03 10:18:31 by rrt] · 5e1f86a7
      rrt authored
      This file shouldn't be in the repository any more (there's a
      PrelGHC.hi-boot.pp).
      
      Why is it only me that notices these phantom leftovers? Why don't they cause
      problems for other people?
      5e1f86a7
    • sewardj's avatar
      [project @ 2001-10-03 09:56:18 by sewardj] · 7693d3bd
      sewardj authored
      In the interactive FFI, handle f-i'd fns which return char.
      7693d3bd
    • rrt's avatar
      [project @ 2001-10-03 09:43:11 by rrt] · a3ccd83f
      rrt authored
      Remove import of unDosifyPath, and the comment saying that it is used.
      a3ccd83f
    • simonmar's avatar
      [project @ 2001-10-03 09:20:20 by simonmar] · 28274f6a
      simonmar authored
      minor wibble: use Maybe.isJust rather than maybeToBool
      28274f6a
    • simonmar's avatar
      [project @ 2001-10-03 08:16:49 by simonmar] · 2e9f2703
      simonmar authored
      Don't print the "compilation IS NOT required" in quiet mode (-v0).
      2e9f2703
  8. 02 Oct, 2001 5 commits
  9. 01 Oct, 2001 5 commits